mljr-css 0.1.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.
Files changed (53) hide show
  1. package/README.md +299 -0
  2. package/dist/mljr.css +12214 -0
  3. package/dist/mljr.min.css +3 -0
  4. package/dist/plugin.cjs +139 -0
  5. package/dist/plugin.d.cts +73 -0
  6. package/dist/plugin.d.ts +73 -0
  7. package/dist/plugin.js +102 -0
  8. package/package.json +60 -0
  9. package/src/base/reset.css +210 -0
  10. package/src/base/typography.css +286 -0
  11. package/src/components/accordion.css +210 -0
  12. package/src/components/alert.css +231 -0
  13. package/src/components/avatar.css +222 -0
  14. package/src/components/badge.css +315 -0
  15. package/src/components/breadcrumb.css +100 -0
  16. package/src/components/button.css +383 -0
  17. package/src/components/card.css +319 -0
  18. package/src/components/carousel.css +179 -0
  19. package/src/components/checkbox.css +303 -0
  20. package/src/components/chip.css +207 -0
  21. package/src/components/divider.css +248 -0
  22. package/src/components/drawer.css +242 -0
  23. package/src/components/dropdown.css +246 -0
  24. package/src/components/empty-state.css +216 -0
  25. package/src/components/file-upload.css +262 -0
  26. package/src/components/footer.css +231 -0
  27. package/src/components/input.css +504 -0
  28. package/src/components/modal.css +179 -0
  29. package/src/components/pagination.css +143 -0
  30. package/src/components/password.css +449 -0
  31. package/src/components/popover.css +175 -0
  32. package/src/components/progress.css +165 -0
  33. package/src/components/radio.css +200 -0
  34. package/src/components/select.css +165 -0
  35. package/src/components/sidebar.css +236 -0
  36. package/src/components/skeleton.css +161 -0
  37. package/src/components/spinner.css +259 -0
  38. package/src/components/stepper.css +257 -0
  39. package/src/components/table.css +184 -0
  40. package/src/components/tabs.css +219 -0
  41. package/src/components/textarea.css +164 -0
  42. package/src/components/toast.css +294 -0
  43. package/src/components/tooltip.css +99 -0
  44. package/src/index.css +54 -0
  45. package/src/layout/container.css +181 -0
  46. package/src/layout/footer.css +319 -0
  47. package/src/layout/header.css +223 -0
  48. package/src/layout/navbar.css +461 -0
  49. package/src/layout/navigation.css +328 -0
  50. package/src/layout/sidebar.css +334 -0
  51. package/src/plugin.ts +130 -0
  52. package/src/themes/variables.css +345 -0
  53. package/src/utilities/utilities.css +598 -0
@@ -0,0 +1,257 @@
1
+ /* ============================================
2
+ MLJR CSS Framework - Stepper Component
3
+ Claymorphism: Step navigation with soft shadows
4
+ ============================================ */
5
+
6
+ .mljr-stepper {
7
+ display: flex;
8
+ width: 100%;
9
+ }
10
+
11
+ .mljr-stepper-vertical {
12
+ flex-direction: column;
13
+ }
14
+
15
+ .mljr-stepper-horizontal {
16
+ flex-direction: row;
17
+ }
18
+
19
+ /* Step Item */
20
+ .mljr-step {
21
+ display: flex;
22
+ flex: 1;
23
+ position: relative;
24
+ }
25
+
26
+ .mljr-stepper-horizontal .mljr-step {
27
+ align-items: flex-start;
28
+ }
29
+
30
+ .mljr-stepper-vertical .mljr-step {
31
+ align-items: stretch;
32
+ min-height: 80px;
33
+ }
34
+
35
+ .mljr-step:not(:last-child)::after {
36
+ content: '';
37
+ flex: 1;
38
+ background: var(--mljr-bg-tertiary);
39
+ transition: background var(--mljr-transition-fast);
40
+ }
41
+
42
+ .mljr-stepper-horizontal .mljr-step:not(:last-child)::after {
43
+ height: 2px;
44
+ margin-top: 1rem;
45
+ margin-left: var(--mljr-space-2);
46
+ margin-right: var(--mljr-space-2);
47
+ border-radius: var(--mljr-radius-full);
48
+ box-shadow: var(--mljr-clay-inset-xs);
49
+ }
50
+
51
+ .mljr-stepper-vertical .mljr-step:not(:last-child)::after {
52
+ width: 2px;
53
+ margin-left: 1rem;
54
+ margin-top: var(--mljr-space-2);
55
+ margin-bottom: var(--mljr-space-2);
56
+ border-radius: var(--mljr-radius-full);
57
+ box-shadow: var(--mljr-clay-inset-xs);
58
+ }
59
+
60
+ .mljr-step-completed:not(:last-child)::after {
61
+ background: var(--mljr-primary-500);
62
+ box-shadow: 0 0 4px rgba(249, 115, 22, 0.3);
63
+ }
64
+
65
+ /* Step Content */
66
+ .mljr-step-content {
67
+ display: flex;
68
+ flex-direction: column;
69
+ align-items: center;
70
+ gap: var(--mljr-space-2);
71
+ z-index: 1;
72
+ }
73
+
74
+ .mljr-stepper-vertical .mljr-step-content {
75
+ flex-direction: row;
76
+ align-items: flex-start;
77
+ }
78
+
79
+ /* Step Indicator */
80
+ .mljr-step-indicator {
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ width: 2rem;
85
+ height: 2rem;
86
+ font-size: var(--mljr-text-sm);
87
+ font-weight: 600;
88
+ color: var(--mljr-text-muted);
89
+ background: var(--mljr-bg);
90
+ border-radius: var(--mljr-radius-full);
91
+ box-shadow: var(--mljr-clay-shadow-sm);
92
+ transition: all var(--mljr-transition-fast);
93
+ flex-shrink: 0;
94
+ }
95
+
96
+ .mljr-step-active .mljr-step-indicator {
97
+ background: var(--mljr-gradient-primary);
98
+ color: white;
99
+ box-shadow:
100
+ var(--mljr-clay-shadow-sm),
101
+ 0 0 8px rgba(249, 115, 22, 0.3);
102
+ transform: scale(1.1);
103
+ }
104
+
105
+ .mljr-step-completed .mljr-step-indicator {
106
+ background: var(--mljr-primary-500);
107
+ color: white;
108
+ }
109
+
110
+ .mljr-step-error .mljr-step-indicator {
111
+ background: var(--mljr-error);
112
+ color: white;
113
+ }
114
+
115
+ .mljr-step-disabled .mljr-step-indicator {
116
+ opacity: 0.5;
117
+ cursor: not-allowed;
118
+ }
119
+
120
+ /* Step Icon */
121
+ .mljr-step-icon {
122
+ width: 1rem;
123
+ height: 1rem;
124
+ }
125
+
126
+ /* Step Text */
127
+ .mljr-step-text {
128
+ text-align: center;
129
+ }
130
+
131
+ .mljr-stepper-vertical .mljr-step-text {
132
+ text-align: left;
133
+ padding-top: var(--mljr-space-1);
134
+ }
135
+
136
+ .mljr-step-title {
137
+ font-size: var(--mljr-text-sm);
138
+ font-weight: 500;
139
+ color: var(--mljr-text-muted);
140
+ transition: color var(--mljr-transition-fast);
141
+ }
142
+
143
+ .mljr-step-active .mljr-step-title {
144
+ color: var(--mljr-text);
145
+ font-weight: 600;
146
+ }
147
+
148
+ .mljr-step-completed .mljr-step-title {
149
+ color: var(--mljr-text);
150
+ }
151
+
152
+ .mljr-step-description {
153
+ font-size: var(--mljr-text-xs);
154
+ color: var(--mljr-text-muted);
155
+ margin-top: var(--mljr-space-1);
156
+ max-width: 150px;
157
+ }
158
+
159
+ .mljr-stepper-vertical .mljr-step-description {
160
+ max-width: 200px;
161
+ }
162
+
163
+ /* Clickable Step */
164
+ .mljr-step-clickable {
165
+ cursor: pointer;
166
+ }
167
+
168
+ .mljr-step-clickable:hover .mljr-step-indicator {
169
+ transform: scale(1.1);
170
+ box-shadow: var(--mljr-clay-shadow);
171
+ }
172
+
173
+ .mljr-step-clickable.mljr-step-active:hover .mljr-step-indicator {
174
+ transform: scale(1.15);
175
+ }
176
+
177
+ /* Step Content Panel */
178
+ .mljr-stepper-content {
179
+ margin-top: var(--mljr-space-6);
180
+ padding: var(--mljr-space-6);
181
+ background: var(--mljr-bg);
182
+ border-radius: var(--mljr-radius-xl);
183
+ box-shadow: var(--mljr-clay-inset);
184
+ }
185
+
186
+ /* Step Actions */
187
+ .mljr-stepper-actions {
188
+ display: flex;
189
+ justify-content: space-between;
190
+ gap: var(--mljr-space-3);
191
+ margin-top: var(--mljr-space-6);
192
+ }
193
+
194
+ .mljr-stepper-actions-right {
195
+ display: flex;
196
+ gap: var(--mljr-space-3);
197
+ margin-left: auto;
198
+ }
199
+
200
+ /* Sizes */
201
+ .mljr-stepper-sm .mljr-step-indicator {
202
+ width: 1.5rem;
203
+ height: 1.5rem;
204
+ font-size: var(--mljr-text-xs);
205
+ }
206
+
207
+ .mljr-stepper-sm .mljr-stepper-horizontal .mljr-step:not(:last-child)::after {
208
+ margin-top: 0.75rem;
209
+ }
210
+
211
+ .mljr-stepper-lg .mljr-step-indicator {
212
+ width: 2.5rem;
213
+ height: 2.5rem;
214
+ font-size: var(--mljr-text-base);
215
+ }
216
+
217
+ .mljr-stepper-lg .mljr-stepper-horizontal .mljr-step:not(:last-child)::after {
218
+ margin-top: 1.25rem;
219
+ }
220
+
221
+ /* Alternative Style - Pills */
222
+ .mljr-stepper-pills .mljr-step-content {
223
+ flex-direction: row;
224
+ gap: var(--mljr-space-2);
225
+ padding: var(--mljr-space-2) var(--mljr-space-4);
226
+ background: var(--mljr-bg);
227
+ border-radius: var(--mljr-radius-full);
228
+ box-shadow: var(--mljr-clay-shadow-sm);
229
+ transition: all var(--mljr-transition-fast);
230
+ }
231
+
232
+ .mljr-stepper-pills .mljr-step-active .mljr-step-content {
233
+ background: var(--mljr-primary-100);
234
+ box-shadow: var(--mljr-clay-shadow);
235
+ }
236
+
237
+ .mljr-stepper-pills .mljr-step:not(:last-child)::after {
238
+ display: none;
239
+ }
240
+
241
+ /* Dark Mode */
242
+ .dark .mljr-step-indicator,
243
+ [data-theme="dark"] .mljr-step-indicator {
244
+ background: var(--mljr-bg-secondary);
245
+ box-shadow: var(--mljr-clay-shadow-sm);
246
+ }
247
+
248
+ .dark .mljr-step:not(:last-child)::after,
249
+ [data-theme="dark"] .mljr-step:not(:last-child)::after {
250
+ background: var(--mljr-bg-tertiary);
251
+ }
252
+
253
+ .dark .mljr-stepper-content,
254
+ [data-theme="dark"] .mljr-stepper-content {
255
+ background: var(--mljr-bg-secondary);
256
+ box-shadow: var(--mljr-clay-inset);
257
+ }
@@ -0,0 +1,184 @@
1
+ /* ============================================
2
+ MLJR CSS Framework - Table Component
3
+ Claymorphism: Soft rounded table wrapper
4
+ ============================================ */
5
+
6
+ .mljr-table-wrapper {
7
+ position: relative;
8
+ width: 100%;
9
+ overflow-x: auto;
10
+ border-radius: var(--mljr-radius-lg);
11
+ box-shadow: var(--mljr-clay-shadow-sm);
12
+ border: 1px solid var(--mljr-border);
13
+ background: var(--mljr-bg);
14
+ }
15
+
16
+ .mljr-table {
17
+ width: 100%;
18
+ border-collapse: collapse;
19
+ font-size: var(--mljr-text-sm);
20
+ font-family: var(--mljr-font-sans);
21
+ }
22
+
23
+ .mljr-table th,
24
+ .mljr-table td,
25
+ .mljr-table-th,
26
+ .mljr-table-td {
27
+ padding: var(--mljr-space-3) var(--mljr-space-4);
28
+ text-align: left;
29
+ border-bottom: 1px solid var(--mljr-border);
30
+ }
31
+
32
+ .mljr-table th,
33
+ .mljr-table-th,
34
+ .mljr-table-header th {
35
+ font-weight: 600;
36
+ font-size: var(--mljr-text-xs);
37
+ text-transform: uppercase;
38
+ letter-spacing: 0.05em;
39
+ color: var(--mljr-text-secondary);
40
+ background: var(--mljr-bg-secondary);
41
+ }
42
+
43
+ .mljr-table td,
44
+ .mljr-table-td {
45
+ color: var(--mljr-text);
46
+ }
47
+
48
+ .mljr-table tbody tr,
49
+ .mljr-table-body .mljr-table-row {
50
+ transition: background-color var(--mljr-transition-fast);
51
+ }
52
+
53
+ .mljr-table tbody tr:hover,
54
+ .mljr-table-body .mljr-table-row:hover {
55
+ background: var(--mljr-bg-secondary);
56
+ }
57
+
58
+ .mljr-table tbody tr:last-child td {
59
+ border-bottom: none;
60
+ }
61
+
62
+ /* Striped variant */
63
+ .mljr-table-striped tbody tr:nth-child(even) {
64
+ background: var(--mljr-bg-secondary);
65
+ }
66
+
67
+ .mljr-table-striped tbody tr:nth-child(even):hover {
68
+ background: var(--mljr-bg-tertiary);
69
+ }
70
+
71
+ /* Compact variant */
72
+ .mljr-table-compact th,
73
+ .mljr-table-compact td {
74
+ padding: var(--mljr-space-2) var(--mljr-space-3);
75
+ }
76
+
77
+ /* Bordered variant */
78
+ .mljr-table-bordered th,
79
+ .mljr-table-bordered td {
80
+ border: 1px solid var(--mljr-border);
81
+ }
82
+
83
+ /* Selection styling */
84
+ .mljr-table tbody tr.mljr-table-selected {
85
+ background: var(--mljr-primary-50);
86
+ }
87
+
88
+ .mljr-table tbody tr.mljr-table-selected td {
89
+ color: var(--mljr-primary-700);
90
+ }
91
+
92
+ .dark .mljr-table tbody tr.mljr-table-selected,
93
+ [data-theme="dark"] .mljr-table tbody tr.mljr-table-selected {
94
+ background: rgba(249, 115, 22, 0.1);
95
+ }
96
+
97
+ .dark .mljr-table tbody tr.mljr-table-selected td,
98
+ [data-theme="dark"] .mljr-table tbody tr.mljr-table-selected td {
99
+ color: var(--mljr-primary-400);
100
+ }
101
+
102
+ /* Sortable headers */
103
+ .mljr-table th.mljr-table-sortable {
104
+ cursor: pointer;
105
+ user-select: none;
106
+ transition: color var(--mljr-transition-fast);
107
+ }
108
+
109
+ .mljr-table th.mljr-table-sortable:hover {
110
+ color: var(--mljr-primary-600);
111
+ }
112
+
113
+ .mljr-table th.mljr-table-sortable::after {
114
+ content: '';
115
+ display: inline-block;
116
+ width: 0;
117
+ height: 0;
118
+ margin-left: var(--mljr-space-2);
119
+ vertical-align: middle;
120
+ border-left: 4px solid transparent;
121
+ border-right: 4px solid transparent;
122
+ border-top: 4px solid currentColor;
123
+ opacity: 0.3;
124
+ }
125
+
126
+ .mljr-table th.mljr-table-sort-asc::after {
127
+ border-top: none;
128
+ border-bottom: 4px solid currentColor;
129
+ opacity: 1;
130
+ }
131
+
132
+ .mljr-table th.mljr-table-sort-desc::after {
133
+ opacity: 1;
134
+ }
135
+
136
+ /* Empty state */
137
+ .mljr-table-empty {
138
+ text-align: center;
139
+ padding: var(--mljr-space-8) var(--mljr-space-4);
140
+ color: var(--mljr-text-muted);
141
+ }
142
+
143
+ /* Responsive stacked table on small screens */
144
+ @media (max-width: 640px) {
145
+ .mljr-table-responsive thead {
146
+ display: none;
147
+ }
148
+
149
+ .mljr-table-responsive tbody tr {
150
+ display: block;
151
+ margin-bottom: var(--mljr-space-4);
152
+ border: 1px solid var(--mljr-border);
153
+ border-radius: var(--mljr-radius-md);
154
+ overflow: hidden;
155
+ }
156
+
157
+ .mljr-table-responsive tbody td {
158
+ display: flex;
159
+ justify-content: space-between;
160
+ border-bottom: 1px solid var(--mljr-border);
161
+ }
162
+
163
+ .mljr-table-responsive tbody td::before {
164
+ content: attr(data-label);
165
+ font-weight: 600;
166
+ color: var(--mljr-text-secondary);
167
+ }
168
+
169
+ .mljr-table-responsive tbody td:last-child {
170
+ border-bottom: none;
171
+ }
172
+ }
173
+
174
+ /* Dark mode */
175
+ .dark .mljr-table-wrapper,
176
+ [data-theme="dark"] .mljr-table-wrapper {
177
+ background: var(--mljr-bg-secondary);
178
+ border-color: var(--mljr-border);
179
+ }
180
+
181
+ .dark .mljr-table th,
182
+ [data-theme="dark"] .mljr-table th {
183
+ background: var(--mljr-bg-tertiary);
184
+ }
@@ -0,0 +1,219 @@
1
+ /* ============================================
2
+ MLJR CSS Framework - Tabs Component
3
+ Claymorphism: Soft rounded tabs with clay shadows
4
+ ============================================ */
5
+
6
+ .mljr-tabs {
7
+ width: 100%;
8
+ }
9
+
10
+ /* Tab List - Default now has soft clay styling */
11
+ .mljr-tabs-list {
12
+ display: flex;
13
+ background-color: var(--mljr-bg-secondary);
14
+ border-radius: var(--mljr-radius-xl);
15
+ padding: var(--mljr-space-1);
16
+ gap: var(--mljr-space-1);
17
+ box-shadow: var(--mljr-clay-inset-sm);
18
+ border: 1px solid var(--mljr-frosted-border);
19
+ }
20
+
21
+ .mljr-tabs-list-center { justify-content: center; }
22
+ .mljr-tabs-list-end { justify-content: flex-end; }
23
+ .mljr-tabs-list-stretch .mljr-tab { flex: 1; }
24
+
25
+ /* Tab Trigger - Soft rounded with clay effect */
26
+ .mljr-tab {
27
+ display: inline-flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ gap: var(--mljr-space-2);
31
+ padding: var(--mljr-space-2) var(--mljr-space-4);
32
+ font-size: var(--mljr-text-sm);
33
+ font-weight: 500;
34
+ color: var(--mljr-text-secondary);
35
+ background: transparent;
36
+ border: none;
37
+ cursor: pointer;
38
+ transition: all var(--mljr-transition-fast);
39
+ white-space: nowrap;
40
+ position: relative;
41
+ border-radius: var(--mljr-radius-lg);
42
+ }
43
+
44
+ .mljr-tab:hover {
45
+ color: var(--mljr-text);
46
+ background-color: var(--mljr-bg-tertiary);
47
+ }
48
+
49
+ .mljr-tab:focus-visible {
50
+ outline: 3px solid var(--mljr-primary-300);
51
+ outline-offset: -2px;
52
+ border-radius: var(--mljr-radius-lg);
53
+ }
54
+
55
+ .mljr-tab[aria-selected="true"],
56
+ .mljr-tab.mljr-tab-active {
57
+ color: var(--mljr-primary-600);
58
+ background-color: var(--mljr-bg);
59
+ box-shadow: var(--mljr-clay-shadow-sm);
60
+ }
61
+
62
+ .dark .mljr-tabs-list,
63
+ [data-theme="dark"] .mljr-tabs-list {
64
+ background-color: var(--mljr-bg-secondary);
65
+ border-color: var(--mljr-border);
66
+ }
67
+
68
+ .dark .mljr-tab[aria-selected="true"],
69
+ .dark .mljr-tab.mljr-tab-active,
70
+ [data-theme="dark"] .mljr-tab[aria-selected="true"],
71
+ [data-theme="dark"] .mljr-tab.mljr-tab-active {
72
+ background-color: var(--mljr-bg-tertiary);
73
+ color: var(--mljr-primary-400);
74
+ box-shadow: var(--mljr-clay-shadow-sm);
75
+ }
76
+
77
+ .mljr-tab:disabled {
78
+ opacity: 0.5;
79
+ cursor: not-allowed;
80
+ }
81
+
82
+ /* Secondary Color Tabs (Purple) */
83
+ .mljr-tabs-secondary .mljr-tab[aria-selected="true"],
84
+ .mljr-tabs-secondary .mljr-tab.mljr-tab-active {
85
+ color: var(--mljr-secondary-600);
86
+ background: linear-gradient(135deg, var(--mljr-secondary-50) 0%, var(--mljr-secondary-100) 100%);
87
+ box-shadow:
88
+ 6px 6px 12px rgba(168, 85, 247, 0.15),
89
+ -4px -4px 10px rgba(255, 255, 255, 0.9),
90
+ inset 0px 2px 4px rgba(255, 255, 255, 0.5);
91
+ }
92
+
93
+ .dark .mljr-tabs-secondary .mljr-tab[aria-selected="true"],
94
+ .dark .mljr-tabs-secondary .mljr-tab.mljr-tab-active,
95
+ [data-theme="dark"] .mljr-tabs-secondary .mljr-tab[aria-selected="true"],
96
+ [data-theme="dark"] .mljr-tabs-secondary .mljr-tab.mljr-tab-active {
97
+ background: rgba(168, 85, 247, 0.15);
98
+ color: var(--mljr-secondary-400);
99
+ box-shadow: var(--mljr-clay-shadow-sm);
100
+ }
101
+
102
+ /* Tab Content */
103
+ .mljr-tabs-content {
104
+ padding: var(--mljr-space-4) 0;
105
+ }
106
+
107
+ .mljr-tabs-panel {
108
+ display: none;
109
+ }
110
+
111
+ .mljr-tabs-panel[data-state="active"],
112
+ .mljr-tabs-panel.mljr-tabs-panel-active {
113
+ display: block;
114
+ animation: mljr-tab-content-in var(--mljr-transition) ease-out;
115
+ }
116
+
117
+ .mljr-tabs-panel:not([hidden]) {
118
+ display: block;
119
+ animation: mljr-tab-content-in var(--mljr-transition) ease-out;
120
+ }
121
+
122
+ /* Tab content slide-in animation */
123
+ @keyframes mljr-tab-content-in {
124
+ 0% {
125
+ opacity: 0;
126
+ transform: translateY(4px);
127
+ }
128
+ 100% {
129
+ opacity: 1;
130
+ transform: translateY(0);
131
+ }
132
+ }
133
+
134
+ /* Note: mljr-fade-in keyframe is defined in modal.css */
135
+
136
+ /* Pill Tabs Variant - Even more rounded */
137
+ .mljr-tabs-pills .mljr-tabs-list {
138
+ border-radius: var(--mljr-radius-full);
139
+ }
140
+
141
+ .mljr-tabs-pills .mljr-tab {
142
+ border-radius: var(--mljr-radius-full);
143
+ }
144
+
145
+ .mljr-tabs-pills .mljr-tab[aria-selected="true"],
146
+ .mljr-tabs-pills .mljr-tab.mljr-tab-active {
147
+ border-radius: var(--mljr-radius-full);
148
+ }
149
+
150
+ /* Bordered Tabs Variant - Card-style tabs */
151
+ .mljr-tabs-bordered .mljr-tabs-list {
152
+ background: transparent;
153
+ box-shadow: none;
154
+ border: none;
155
+ border-bottom: 1px solid var(--mljr-border);
156
+ border-radius: 0;
157
+ padding: 0;
158
+ }
159
+
160
+ .mljr-tabs-bordered .mljr-tab {
161
+ border-radius: var(--mljr-radius-lg) var(--mljr-radius-lg) 0 0;
162
+ border: 1px solid transparent;
163
+ border-bottom: none;
164
+ margin-bottom: -1px;
165
+ }
166
+
167
+ .mljr-tabs-bordered .mljr-tab[aria-selected="true"],
168
+ .mljr-tabs-bordered .mljr-tab.mljr-tab-active {
169
+ background-color: var(--mljr-bg);
170
+ border-color: var(--mljr-border);
171
+ box-shadow: var(--mljr-clay-shadow-sm);
172
+ }
173
+
174
+ .mljr-tabs-bordered .mljr-tabs-content {
175
+ background: var(--mljr-frosted-bg-subtle);
176
+ border: 1px solid var(--mljr-border);
177
+ border-top: none;
178
+ border-radius: 0 0 var(--mljr-radius-lg) var(--mljr-radius-lg);
179
+ padding: var(--mljr-space-4);
180
+ box-shadow: var(--mljr-clay-shadow-sm);
181
+ }
182
+
183
+ /* Vertical Tabs */
184
+ .mljr-tabs-vertical {
185
+ display: flex;
186
+ gap: var(--mljr-space-4);
187
+ }
188
+
189
+ .mljr-tabs-vertical .mljr-tabs-list {
190
+ flex-direction: column;
191
+ border-radius: var(--mljr-radius-xl);
192
+ min-width: 160px;
193
+ }
194
+
195
+ .mljr-tabs-vertical .mljr-tab {
196
+ justify-content: flex-start;
197
+ border-radius: var(--mljr-radius-lg);
198
+ }
199
+
200
+ .mljr-tabs-vertical .mljr-tab[aria-selected="true"],
201
+ .mljr-tabs-vertical .mljr-tab.mljr-tab-active {
202
+ box-shadow: var(--mljr-clay-shadow-sm);
203
+ }
204
+
205
+ .mljr-tabs-vertical .mljr-tabs-content {
206
+ flex: 1;
207
+ padding: 0;
208
+ }
209
+
210
+ /* Tab Sizes */
211
+ .mljr-tabs-sm .mljr-tab {
212
+ padding: var(--mljr-space-1) var(--mljr-space-3);
213
+ font-size: var(--mljr-text-xs);
214
+ }
215
+
216
+ .mljr-tabs-lg .mljr-tab {
217
+ padding: var(--mljr-space-3) var(--mljr-space-5);
218
+ font-size: var(--mljr-text-base);
219
+ }