@rookcom/monarch-react 0.0.0-stage → 0.2.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 (165) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +4 -2
  3. package/dist/components/alert.d.ts +17 -0
  4. package/dist/components/alert.d.ts.map +1 -0
  5. package/dist/components/alert.js +17 -0
  6. package/dist/components/alert.js.map +1 -0
  7. package/dist/components/avatar.d.ts +16 -0
  8. package/dist/components/avatar.d.ts.map +1 -0
  9. package/dist/components/avatar.js +28 -0
  10. package/dist/components/avatar.js.map +1 -0
  11. package/dist/components/badge.d.ts +13 -0
  12. package/dist/components/badge.d.ts.map +1 -0
  13. package/dist/components/badge.js +7 -0
  14. package/dist/components/badge.js.map +1 -0
  15. package/dist/components/breadcrumb.d.ts +19 -0
  16. package/dist/components/breadcrumb.d.ts.map +1 -0
  17. package/dist/components/breadcrumb.js +19 -0
  18. package/dist/components/breadcrumb.js.map +1 -0
  19. package/dist/components/button.d.ts +32 -0
  20. package/dist/components/button.d.ts.map +1 -0
  21. package/dist/components/button.js +30 -0
  22. package/dist/components/button.js.map +1 -0
  23. package/dist/components/card.d.ts +18 -0
  24. package/dist/components/card.d.ts.map +1 -0
  25. package/dist/components/card.js +21 -0
  26. package/dist/components/card.js.map +1 -0
  27. package/dist/components/checkbox.d.ts +15 -0
  28. package/dist/components/checkbox.d.ts.map +1 -0
  29. package/dist/components/checkbox.js +23 -0
  30. package/dist/components/checkbox.js.map +1 -0
  31. package/dist/components/combobox.d.ts +35 -0
  32. package/dist/components/combobox.d.ts.map +1 -0
  33. package/dist/components/combobox.js +152 -0
  34. package/dist/components/combobox.js.map +1 -0
  35. package/dist/components/dialog.d.ts +22 -0
  36. package/dist/components/dialog.d.ts.map +1 -0
  37. package/dist/components/dialog.js +33 -0
  38. package/dist/components/dialog.js.map +1 -0
  39. package/dist/components/dropdown-menu.d.ts +24 -0
  40. package/dist/components/dropdown-menu.d.ts.map +1 -0
  41. package/dist/components/dropdown-menu.js +41 -0
  42. package/dist/components/dropdown-menu.js.map +1 -0
  43. package/dist/components/empty-state.d.ts +17 -0
  44. package/dist/components/empty-state.d.ts.map +1 -0
  45. package/dist/components/empty-state.js +10 -0
  46. package/dist/components/empty-state.js.map +1 -0
  47. package/dist/components/field.d.ts +65 -0
  48. package/dist/components/field.d.ts.map +1 -0
  49. package/dist/components/field.js +101 -0
  50. package/dist/components/field.js.map +1 -0
  51. package/dist/components/input.d.ts +15 -0
  52. package/dist/components/input.d.ts.map +1 -0
  53. package/dist/components/input.js +14 -0
  54. package/dist/components/input.js.map +1 -0
  55. package/dist/components/kbd.d.ts +4 -0
  56. package/dist/components/kbd.d.ts.map +1 -0
  57. package/dist/components/kbd.js +7 -0
  58. package/dist/components/kbd.js.map +1 -0
  59. package/dist/components/link.d.ts +13 -0
  60. package/dist/components/link.d.ts.map +1 -0
  61. package/dist/components/link.js +18 -0
  62. package/dist/components/link.js.map +1 -0
  63. package/dist/components/pagination.d.ts +18 -0
  64. package/dist/components/pagination.d.ts.map +1 -0
  65. package/dist/components/pagination.js +40 -0
  66. package/dist/components/pagination.js.map +1 -0
  67. package/dist/components/popover.d.ts +8 -0
  68. package/dist/components/popover.d.ts.map +1 -0
  69. package/dist/components/popover.js +14 -0
  70. package/dist/components/popover.js.map +1 -0
  71. package/dist/components/progress.d.ts +14 -0
  72. package/dist/components/progress.d.ts.map +1 -0
  73. package/dist/components/progress.js +12 -0
  74. package/dist/components/progress.js.map +1 -0
  75. package/dist/components/select.d.ts +27 -0
  76. package/dist/components/select.d.ts.map +1 -0
  77. package/dist/components/select.js +39 -0
  78. package/dist/components/select.js.map +1 -0
  79. package/dist/components/separator.d.ts +4 -0
  80. package/dist/components/separator.d.ts.map +1 -0
  81. package/dist/components/separator.js +9 -0
  82. package/dist/components/separator.js.map +1 -0
  83. package/dist/components/skeleton.d.ts +12 -0
  84. package/dist/components/skeleton.d.ts.map +1 -0
  85. package/dist/components/skeleton.js +10 -0
  86. package/dist/components/skeleton.js.map +1 -0
  87. package/dist/components/spinner.d.ts +12 -0
  88. package/dist/components/spinner.d.ts.map +1 -0
  89. package/dist/components/spinner.js +10 -0
  90. package/dist/components/spinner.js.map +1 -0
  91. package/dist/components/switch.d.ts +13 -0
  92. package/dist/components/switch.d.ts.map +1 -0
  93. package/dist/components/switch.js +21 -0
  94. package/dist/components/switch.js.map +1 -0
  95. package/dist/components/table.d.ts +53 -0
  96. package/dist/components/table.d.ts.map +1 -0
  97. package/dist/components/table.js +47 -0
  98. package/dist/components/table.js.map +1 -0
  99. package/dist/components/tabs.d.ts +12 -0
  100. package/dist/components/tabs.d.ts.map +1 -0
  101. package/dist/components/tabs.js +17 -0
  102. package/dist/components/tabs.js.map +1 -0
  103. package/dist/components/toast.d.ts +40 -0
  104. package/dist/components/toast.d.ts.map +1 -0
  105. package/dist/components/toast.js +67 -0
  106. package/dist/components/toast.js.map +1 -0
  107. package/dist/components/tooltip.d.ts +20 -0
  108. package/dist/components/tooltip.d.ts.map +1 -0
  109. package/dist/components/tooltip.js +12 -0
  110. package/dist/components/tooltip.js.map +1 -0
  111. package/dist/components/visually-hidden.d.ts +4 -0
  112. package/dist/components/visually-hidden.d.ts.map +1 -0
  113. package/dist/components/visually-hidden.js +7 -0
  114. package/dist/components/visually-hidden.js.map +1 -0
  115. package/dist/index.d.ts +31 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +34 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/internal/cx.d.ts +3 -0
  120. package/dist/internal/cx.d.ts.map +1 -0
  121. package/dist/internal/cx.js +6 -0
  122. package/dist/internal/cx.js.map +1 -0
  123. package/dist/internal/icons.d.ts +12 -0
  124. package/dist/internal/icons.d.ts.map +1 -0
  125. package/dist/internal/icons.js +41 -0
  126. package/dist/internal/icons.js.map +1 -0
  127. package/dist/manifest.json +3814 -0
  128. package/dist/patterns/description-list.d.ts +17 -0
  129. package/dist/patterns/description-list.d.ts.map +1 -0
  130. package/dist/patterns/description-list.js +10 -0
  131. package/dist/patterns/description-list.js.map +1 -0
  132. package/dist/patterns/filter-bar.d.ts +25 -0
  133. package/dist/patterns/filter-bar.d.ts.map +1 -0
  134. package/dist/patterns/filter-bar.js +13 -0
  135. package/dist/patterns/filter-bar.js.map +1 -0
  136. package/dist/patterns/index.d.ts +9 -0
  137. package/dist/patterns/index.d.ts.map +1 -0
  138. package/dist/patterns/index.js +9 -0
  139. package/dist/patterns/index.js.map +1 -0
  140. package/dist/patterns/page-header.d.ts +17 -0
  141. package/dist/patterns/page-header.d.ts.map +1 -0
  142. package/dist/patterns/page-header.js +7 -0
  143. package/dist/patterns/page-header.js.map +1 -0
  144. package/dist/patterns/settings.d.ts +33 -0
  145. package/dist/patterns/settings.d.ts.map +1 -0
  146. package/dist/patterns/settings.js +15 -0
  147. package/dist/patterns/settings.js.map +1 -0
  148. package/dist/patterns/split-layout.d.ts +21 -0
  149. package/dist/patterns/split-layout.d.ts.map +1 -0
  150. package/dist/patterns/split-layout.js +10 -0
  151. package/dist/patterns/split-layout.js.map +1 -0
  152. package/dist/patterns/stat-card.d.ts +19 -0
  153. package/dist/patterns/stat-card.d.ts.map +1 -0
  154. package/dist/patterns/stat-card.js +11 -0
  155. package/dist/patterns/stat-card.js.map +1 -0
  156. package/dist/patterns/states.d.ts +23 -0
  157. package/dist/patterns/states.d.ts.map +1 -0
  158. package/dist/patterns/states.js +15 -0
  159. package/dist/patterns/states.js.map +1 -0
  160. package/dist/patterns/toolbar.d.ts +20 -0
  161. package/dist/patterns/toolbar.d.ts.map +1 -0
  162. package/dist/patterns/toolbar.js +46 -0
  163. package/dist/patterns/toolbar.js.map +1 -0
  164. package/dist/styles.css +1984 -0
  165. package/package.json +70 -4
@@ -0,0 +1,1984 @@
1
+ /*! Monarch components. Generated by @rookcom/monarch-react. Do not edit. */
2
+ @layer monarch.tokens, monarch.base, monarch.components;
3
+
4
+ @layer monarch.components {
5
+ /* 00-foundation.css */
6
+ /* Shared component foundations. */
7
+ .mn-visually-hidden {
8
+ position: absolute;
9
+ width: 1px;
10
+ height: 1px;
11
+ padding: 0;
12
+ margin: -1px;
13
+ overflow: hidden;
14
+ clip: rect(0 0 0 0);
15
+ white-space: nowrap;
16
+ border: 0;
17
+ }
18
+
19
+ .mn-button,
20
+ .mn-input,
21
+ .mn-checkbox,
22
+ .mn-switch,
23
+ .mn-tabs__trigger,
24
+ .mn-dialog__close {
25
+ -webkit-tap-highlight-color: transparent;
26
+ }
27
+
28
+ .mn-button:focus-visible,
29
+ .mn-input:focus-visible,
30
+ .mn-checkbox:focus-visible,
31
+ .mn-switch:focus-visible,
32
+ .mn-tabs__trigger:focus-visible,
33
+ .mn-dialog__close:focus-visible {
34
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
35
+ outline-offset: 2px;
36
+ }
37
+
38
+ @keyframes mn-spin {
39
+ to {
40
+ transform: rotate(360deg);
41
+ }
42
+ }
43
+ @keyframes mn-fade-in {
44
+ from {
45
+ opacity: 0;
46
+ }
47
+ }
48
+ @keyframes mn-pop-in {
49
+ from {
50
+ opacity: 0;
51
+ transform: translateY(-2px) scale(0.98);
52
+ }
53
+ }
54
+ @keyframes mn-dialog-in {
55
+ from {
56
+ opacity: 0;
57
+ transform: translate(-50%, calc(-50% + 6px)) scale(0.98);
58
+ }
59
+ }
60
+ @keyframes mn-shimmer {
61
+ 0% {
62
+ opacity: 1;
63
+ }
64
+ 50% {
65
+ opacity: 0.55;
66
+ }
67
+ 100% {
68
+ opacity: 1;
69
+ }
70
+ }
71
+
72
+ /* 10-button.css */
73
+ .mn-button {
74
+ --_bg: var(--mn-color-bg-surface);
75
+ --_bg-hover: var(--mn-color-bg-muted);
76
+ --_bg-active: var(--mn-color-bg-emphasis);
77
+ --_fg: var(--mn-color-text-default);
78
+ --_border: var(--mn-color-border-default);
79
+ --_h: var(--mn-control-md);
80
+ --_px: var(--mn-space-3);
81
+ --_fs: var(--mn-text-sm);
82
+
83
+ display: inline-flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ gap: var(--mn-space-1-5);
87
+ height: var(--_h);
88
+ padding-inline: var(--_px);
89
+ border: 1px solid var(--_border);
90
+ border-radius: var(--mn-radius-md);
91
+ background: var(--_bg);
92
+ color: var(--_fg);
93
+ font: inherit;
94
+ font-family: var(--mn-font-sans);
95
+ font-size: var(--_fs);
96
+ font-weight: var(--mn-weight-medium);
97
+ line-height: 1;
98
+ white-space: nowrap;
99
+ text-decoration: none;
100
+ cursor: pointer;
101
+ user-select: none;
102
+ touch-action: manipulation;
103
+ transition:
104
+ background-color var(--mn-duration-fast) var(--mn-ease-standard),
105
+ border-color var(--mn-duration-fast) var(--mn-ease-standard),
106
+ color var(--mn-duration-fast) var(--mn-ease-standard),
107
+ box-shadow var(--mn-duration-fast) var(--mn-ease-standard);
108
+ }
109
+ .mn-button:hover {
110
+ background: var(--_bg-hover);
111
+ }
112
+ .mn-button:active {
113
+ background: var(--_bg-active);
114
+ }
115
+
116
+ .mn-button[data-variant='primary'] {
117
+ --_bg: var(--mn-color-accent-solid);
118
+ --_bg-hover: var(--mn-color-accent-solid-hover);
119
+ --_bg-active: var(--mn-color-accent-solid-active);
120
+ --_fg: var(--mn-color-accent-on-solid);
121
+ --_border: transparent;
122
+ box-shadow: var(--mn-shadow-xs);
123
+ }
124
+ .mn-button[data-variant='secondary'] {
125
+ box-shadow: var(--mn-shadow-xs);
126
+ }
127
+ .mn-button[data-variant='ghost'] {
128
+ --_bg: transparent;
129
+ --_border: transparent;
130
+ }
131
+ .mn-button[data-variant='danger'] {
132
+ --_bg: var(--mn-color-danger-solid);
133
+ --_bg-hover: var(--mn-color-danger-solid-hover);
134
+ --_bg-active: var(--mn-color-danger-solid-active);
135
+ --_fg: var(--mn-color-danger-on-solid);
136
+ --_border: transparent;
137
+ box-shadow: var(--mn-shadow-xs);
138
+ }
139
+ .mn-button[data-variant='danger-subtle'] {
140
+ --_bg: var(--mn-color-danger-subtle);
141
+ --_bg-hover: var(--mn-color-danger-subtle-hover);
142
+ --_bg-active: var(--mn-color-danger-subtle-hover);
143
+ --_fg: var(--mn-color-danger-strong);
144
+ --_border: var(--mn-color-danger-border);
145
+ }
146
+
147
+ .mn-button[data-size='xs'] {
148
+ --_h: var(--mn-control-xs);
149
+ --_px: var(--mn-space-2);
150
+ --_fs: var(--mn-text-xs);
151
+ border-radius: var(--mn-radius-sm);
152
+ }
153
+ .mn-button[data-size='sm'] {
154
+ --_h: var(--mn-control-sm);
155
+ --_px: var(--mn-space-2-5);
156
+ --_fs: var(--mn-text-xs);
157
+ }
158
+ .mn-button[data-size='lg'] {
159
+ --_h: var(--mn-control-lg);
160
+ --_px: var(--mn-space-4);
161
+ }
162
+ .mn-button[data-block] {
163
+ display: flex;
164
+ width: 100%;
165
+ }
166
+
167
+ .mn-button[aria-disabled='true'] {
168
+ cursor: not-allowed;
169
+ }
170
+ .mn-button:disabled,
171
+ .mn-button[aria-disabled='true']:not([data-loading]) {
172
+ opacity: 0.5;
173
+ }
174
+ .mn-button[data-loading] {
175
+ cursor: progress;
176
+ }
177
+ .mn-button:disabled:hover,
178
+ .mn-button[aria-disabled='true']:hover {
179
+ background: var(--_bg);
180
+ }
181
+
182
+ .mn-button__icon {
183
+ display: inline-flex;
184
+ flex-shrink: 0;
185
+ margin-inline: calc(var(--mn-space-0-5) * -1);
186
+ }
187
+ .mn-button__icon > svg {
188
+ width: 1rem;
189
+ height: 1rem;
190
+ }
191
+
192
+ .mn-icon-button {
193
+ width: var(--_h);
194
+ padding: 0;
195
+ }
196
+ .mn-icon-button .mn-button__icon {
197
+ margin: 0;
198
+ }
199
+
200
+ .mn-spinner {
201
+ --_size: 1rem;
202
+ display: inline-block;
203
+ width: var(--_size);
204
+ height: var(--_size);
205
+ flex-shrink: 0;
206
+ border: 2px solid currentColor;
207
+ border-right-color: transparent;
208
+ border-radius: var(--mn-radius-full);
209
+ animation: mn-spin 0.7s linear infinite;
210
+ }
211
+ .mn-spinner[data-size='sm'] {
212
+ --_size: 0.875rem;
213
+ }
214
+ .mn-spinner[data-size='lg'] {
215
+ --_size: 1.5rem;
216
+ }
217
+ @media (prefers-reduced-motion: reduce) {
218
+ .mn-spinner {
219
+ animation-duration: 1.6s;
220
+ }
221
+ }
222
+
223
+ .mn-kbd {
224
+ display: inline-flex;
225
+ align-items: center;
226
+ min-width: 1.25rem;
227
+ height: 1.25rem;
228
+ padding-inline: var(--mn-space-1);
229
+ border: 1px solid var(--mn-color-border-default);
230
+ border-bottom-width: 2px;
231
+ border-radius: var(--mn-radius-xs);
232
+ background: var(--mn-color-bg-subtle);
233
+ color: var(--mn-color-text-muted);
234
+ font-family: var(--mn-font-mono);
235
+ font-size: var(--mn-text-2xs);
236
+ line-height: 1;
237
+ }
238
+
239
+ /* 20-forms.css */
240
+ .mn-field {
241
+ display: flex;
242
+ flex-direction: column;
243
+ gap: var(--mn-space-1-5);
244
+ }
245
+ .mn-field__label {
246
+ display: inline-flex;
247
+ align-items: baseline;
248
+ gap: var(--mn-space-1);
249
+ color: var(--mn-color-text-default);
250
+ font-size: var(--mn-text-sm);
251
+ font-weight: var(--mn-weight-medium);
252
+ line-height: var(--mn-leading-snug);
253
+ }
254
+ .mn-field__required {
255
+ color: var(--mn-color-danger-strong);
256
+ }
257
+ .mn-field__optional {
258
+ color: var(--mn-color-text-subtle);
259
+ font-weight: var(--mn-weight-regular);
260
+ }
261
+ .mn-field__description {
262
+ margin: 0;
263
+ color: var(--mn-color-text-muted);
264
+ font-size: var(--mn-text-xs);
265
+ line-height: var(--mn-leading-normal);
266
+ }
267
+ .mn-field__error {
268
+ margin: 0;
269
+ color: var(--mn-color-danger-strong);
270
+ font-size: var(--mn-text-xs);
271
+ font-weight: var(--mn-weight-medium);
272
+ line-height: var(--mn-leading-normal);
273
+ }
274
+ .mn-field[data-disabled] .mn-field__label {
275
+ color: var(--mn-color-text-disabled);
276
+ }
277
+
278
+ .mn-input {
279
+ --_h: var(--mn-control-md);
280
+ display: flex;
281
+ align-items: center;
282
+ width: 100%;
283
+ min-width: 0;
284
+ height: var(--_h);
285
+ padding-inline: var(--mn-space-3);
286
+ border: 1px solid var(--mn-color-border-input);
287
+ border-radius: var(--mn-radius-md);
288
+ background: var(--mn-color-bg-surface);
289
+ color: var(--mn-color-text-default);
290
+ font: inherit;
291
+ font-family: var(--mn-font-sans);
292
+ font-size: var(--mn-text-sm);
293
+ line-height: var(--mn-leading-normal);
294
+ transition:
295
+ border-color var(--mn-duration-fast) var(--mn-ease-standard),
296
+ box-shadow var(--mn-duration-fast) var(--mn-ease-standard);
297
+ }
298
+ .mn-input::placeholder {
299
+ color: var(--mn-color-text-subtle);
300
+ }
301
+ .mn-input:hover:not(:disabled):not([data-disabled]) {
302
+ border-color: var(--mn-color-text-subtle);
303
+ }
304
+ .mn-input:focus-visible {
305
+ outline-offset: 0;
306
+ border-color: var(--mn-color-focus-ring);
307
+ }
308
+ .mn-input[aria-invalid='true'] {
309
+ border-color: var(--mn-color-danger-strong);
310
+ }
311
+ .mn-input:disabled,
312
+ .mn-input[data-disabled] {
313
+ background: var(--mn-color-bg-subtle);
314
+ color: var(--mn-color-text-disabled);
315
+ cursor: not-allowed;
316
+ }
317
+ .mn-input[data-size='sm'] {
318
+ --_h: var(--mn-control-sm);
319
+ padding-inline: var(--mn-space-2-5);
320
+ font-size: var(--mn-text-xs);
321
+ }
322
+ .mn-input[data-size='lg'] {
323
+ --_h: var(--mn-control-lg);
324
+ }
325
+
326
+ .mn-textarea {
327
+ height: auto;
328
+ min-height: calc(var(--mn-control-md) * 2);
329
+ padding-block: var(--mn-space-2);
330
+ resize: none;
331
+ }
332
+ .mn-textarea[data-resizable] {
333
+ resize: vertical;
334
+ }
335
+
336
+ .mn-select {
337
+ justify-content: space-between;
338
+ gap: var(--mn-space-2);
339
+ cursor: pointer;
340
+ text-align: start;
341
+ }
342
+ .mn-select > span:first-child {
343
+ overflow: hidden;
344
+ text-overflow: ellipsis;
345
+ white-space: nowrap;
346
+ }
347
+ .mn-select[data-placeholder] > span:first-child {
348
+ color: var(--mn-color-text-subtle);
349
+ }
350
+ .mn-select__icon {
351
+ display: inline-flex;
352
+ color: var(--mn-color-text-muted);
353
+ }
354
+ .mn-select__content {
355
+ min-width: var(--radix-select-trigger-width);
356
+ max-height: min(var(--radix-select-content-available-height), 20rem);
357
+ }
358
+ .mn-select__viewport {
359
+ padding: var(--mn-space-1);
360
+ }
361
+
362
+ /* Checkbox and switch */
363
+ .mn-checkbox {
364
+ display: inline-flex;
365
+ align-items: center;
366
+ justify-content: center;
367
+ flex-shrink: 0;
368
+ width: 1rem;
369
+ height: 1rem;
370
+ padding: 0;
371
+ border: 1px solid var(--mn-color-border-input);
372
+ border-radius: var(--mn-radius-xs);
373
+ background: var(--mn-color-bg-surface);
374
+ color: var(--mn-color-accent-on-strong);
375
+ cursor: pointer;
376
+ transition:
377
+ background-color var(--mn-duration-fast) var(--mn-ease-standard),
378
+ border-color var(--mn-duration-fast) var(--mn-ease-standard);
379
+ }
380
+ .mn-checkbox[data-state='checked'],
381
+ .mn-checkbox[data-state='indeterminate'] {
382
+ border-color: var(--mn-color-accent-strong);
383
+ background: var(--mn-color-accent-strong);
384
+ }
385
+ .mn-checkbox[aria-invalid='true'] {
386
+ border-color: var(--mn-color-danger-strong);
387
+ }
388
+ .mn-checkbox:disabled {
389
+ opacity: 0.5;
390
+ cursor: not-allowed;
391
+ }
392
+ .mn-checkbox__indicator {
393
+ display: inline-flex;
394
+ }
395
+ .mn-checkbox__indicator > svg {
396
+ width: 0.75rem;
397
+ height: 0.75rem;
398
+ stroke-width: 2.25;
399
+ }
400
+
401
+ .mn-switch {
402
+ --_w: 2.25rem;
403
+ --_h: 1.25rem;
404
+ --_thumb: calc(var(--_h) - 4px);
405
+ position: relative;
406
+ display: inline-flex;
407
+ flex-shrink: 0;
408
+ align-items: center;
409
+ width: var(--_w);
410
+ height: var(--_h);
411
+ padding: 0;
412
+ border: 1px solid var(--mn-color-border-input);
413
+ border-radius: var(--mn-radius-full);
414
+ background: var(--mn-color-bg-emphasis);
415
+ cursor: pointer;
416
+ transition: background-color var(--mn-duration-base) var(--mn-ease-standard);
417
+ }
418
+ .mn-switch[data-size='sm'] {
419
+ --_w: 1.75rem;
420
+ --_h: 1rem;
421
+ }
422
+ .mn-switch[data-state='checked'] {
423
+ border-color: var(--mn-color-accent-strong);
424
+ background: var(--mn-color-accent-strong);
425
+ }
426
+ .mn-switch:disabled {
427
+ opacity: 0.5;
428
+ cursor: not-allowed;
429
+ }
430
+ .mn-switch__thumb {
431
+ display: block;
432
+ width: var(--_thumb);
433
+ height: var(--_thumb);
434
+ border-radius: var(--mn-radius-full);
435
+ background: var(--mn-color-bg-surface);
436
+ box-shadow: var(--mn-shadow-sm);
437
+ transform: translateX(1px);
438
+ transition: transform var(--mn-duration-base) var(--mn-ease-emphasized);
439
+ }
440
+ .mn-switch[data-state='checked'] .mn-switch__thumb {
441
+ transform: translateX(calc(var(--_w) - var(--_thumb) - 5px));
442
+ }
443
+
444
+ .mn-choice {
445
+ display: flex;
446
+ align-items: flex-start;
447
+ gap: var(--mn-space-2-5);
448
+ }
449
+ .mn-choice > .mn-checkbox {
450
+ margin-top: 0.125rem;
451
+ }
452
+ .mn-choice--switch {
453
+ justify-content: space-between;
454
+ gap: var(--mn-space-4);
455
+ }
456
+ .mn-choice__text {
457
+ display: flex;
458
+ flex-direction: column;
459
+ gap: var(--mn-space-0-5);
460
+ min-width: 0;
461
+ }
462
+ .mn-choice__label {
463
+ color: var(--mn-color-text-default);
464
+ font-size: var(--mn-text-sm);
465
+ font-weight: var(--mn-weight-medium);
466
+ line-height: var(--mn-leading-snug);
467
+ cursor: pointer;
468
+ }
469
+ .mn-choice__description {
470
+ margin: 0;
471
+ color: var(--mn-color-text-muted);
472
+ font-size: var(--mn-text-xs);
473
+ line-height: var(--mn-leading-normal);
474
+ }
475
+ .mn-choice[data-disabled] .mn-choice__label {
476
+ color: var(--mn-color-text-disabled);
477
+ cursor: not-allowed;
478
+ }
479
+
480
+ /* 30-display.css */
481
+ .mn-badge {
482
+ --_bg: var(--mn-color-bg-muted);
483
+ --_fg: var(--mn-color-text-muted);
484
+ --_border: transparent;
485
+ display: inline-flex;
486
+ align-items: center;
487
+ gap: var(--mn-space-1);
488
+ height: 1.375rem;
489
+ padding-inline: var(--mn-space-2);
490
+ border: 1px solid var(--_border);
491
+ border-radius: var(--mn-radius-full);
492
+ background: var(--_bg);
493
+ color: var(--_fg);
494
+ font-size: var(--mn-text-xs);
495
+ font-weight: var(--mn-weight-medium);
496
+ line-height: 1;
497
+ white-space: nowrap;
498
+ }
499
+ .mn-badge[data-size='sm'] {
500
+ height: 1.125rem;
501
+ padding-inline: var(--mn-space-1-5);
502
+ font-size: var(--mn-text-2xs);
503
+ }
504
+ .mn-badge__dot {
505
+ width: 0.375rem;
506
+ height: 0.375rem;
507
+ border-radius: var(--mn-radius-full);
508
+ background: currentColor;
509
+ }
510
+ .mn-badge[data-variant='outline'] {
511
+ --_bg: transparent;
512
+ --_border: var(--mn-color-border-default);
513
+ }
514
+ .mn-badge[data-variant='outline'][data-tone='neutral'] {
515
+ --_fg: var(--mn-color-text-muted);
516
+ }
517
+ .mn-badge[data-variant='solid'][data-tone='neutral'] {
518
+ --_bg: var(--mn-color-bg-inverse);
519
+ --_fg: var(--mn-color-text-inverse);
520
+ }
521
+ .mn-badge[data-tone='accent'] {
522
+ --_bg: var(--mn-color-accent-subtle);
523
+ --_fg: var(--mn-color-accent-strong);
524
+ }
525
+ .mn-badge[data-tone='accent'][data-variant='solid'] {
526
+ --_bg: var(--mn-color-accent-solid);
527
+ --_fg: var(--mn-color-accent-on-solid);
528
+ }
529
+ .mn-badge[data-tone='accent'][data-variant='outline'] {
530
+ --_bg: transparent;
531
+ --_border: var(--mn-color-accent-border);
532
+ }
533
+ .mn-badge[data-tone='info'] {
534
+ --_bg: var(--mn-color-info-subtle);
535
+ --_fg: var(--mn-color-info-strong);
536
+ }
537
+ .mn-badge[data-tone='info'][data-variant='solid'] {
538
+ --_bg: var(--mn-color-info-solid);
539
+ --_fg: var(--mn-color-info-on-solid);
540
+ }
541
+ .mn-badge[data-tone='info'][data-variant='outline'] {
542
+ --_bg: transparent;
543
+ --_border: var(--mn-color-info-border);
544
+ }
545
+ .mn-badge[data-tone='success'] {
546
+ --_bg: var(--mn-color-success-subtle);
547
+ --_fg: var(--mn-color-success-strong);
548
+ }
549
+ .mn-badge[data-tone='success'][data-variant='solid'] {
550
+ --_bg: var(--mn-color-success-solid);
551
+ --_fg: var(--mn-color-success-on-solid);
552
+ }
553
+ .mn-badge[data-tone='success'][data-variant='outline'] {
554
+ --_bg: transparent;
555
+ --_border: var(--mn-color-success-border);
556
+ }
557
+ .mn-badge[data-tone='warning'] {
558
+ --_bg: var(--mn-color-warning-subtle);
559
+ --_fg: var(--mn-color-warning-strong);
560
+ }
561
+ .mn-badge[data-tone='warning'][data-variant='solid'] {
562
+ --_bg: var(--mn-color-warning-solid);
563
+ --_fg: var(--mn-color-warning-on-solid);
564
+ }
565
+ .mn-badge[data-tone='warning'][data-variant='outline'] {
566
+ --_bg: transparent;
567
+ --_border: var(--mn-color-warning-border);
568
+ }
569
+ .mn-badge[data-tone='danger'] {
570
+ --_bg: var(--mn-color-danger-subtle);
571
+ --_fg: var(--mn-color-danger-strong);
572
+ }
573
+ .mn-badge[data-tone='danger'][data-variant='solid'] {
574
+ --_bg: var(--mn-color-danger-solid);
575
+ --_fg: var(--mn-color-danger-on-solid);
576
+ }
577
+ .mn-badge[data-tone='danger'][data-variant='outline'] {
578
+ --_bg: transparent;
579
+ --_border: var(--mn-color-danger-border);
580
+ }
581
+
582
+ .mn-avatar {
583
+ --_size: 2rem;
584
+ position: relative;
585
+ display: inline-flex;
586
+ align-items: center;
587
+ justify-content: center;
588
+ flex-shrink: 0;
589
+ width: var(--_size);
590
+ height: var(--_size);
591
+ overflow: hidden;
592
+ border-radius: var(--mn-radius-full);
593
+ /* Fallback colours derive from a per-name hue, kept soft so initials stay readable. */
594
+ background: hsl(var(--mn-avatar-hue, 220) 45% 92%);
595
+ color: hsl(var(--mn-avatar-hue, 220) 55% 28%);
596
+ font-size: calc(var(--_size) * 0.4);
597
+ font-weight: var(--mn-weight-semibold);
598
+ user-select: none;
599
+ }
600
+ :is(.dark, [data-mn-theme='dark']) .mn-avatar {
601
+ background: hsl(var(--mn-avatar-hue, 220) 30% 22%);
602
+ color: hsl(var(--mn-avatar-hue, 220) 60% 85%);
603
+ }
604
+ .mn-avatar[data-shape='square'] {
605
+ border-radius: var(--mn-radius-md);
606
+ }
607
+ .mn-avatar[data-size='xs'] {
608
+ --_size: 1.25rem;
609
+ }
610
+ .mn-avatar[data-size='sm'] {
611
+ --_size: 1.5rem;
612
+ }
613
+ .mn-avatar[data-size='lg'] {
614
+ --_size: 2.5rem;
615
+ }
616
+ .mn-avatar[data-size='xl'] {
617
+ --_size: 3.5rem;
618
+ }
619
+ .mn-avatar__image {
620
+ width: 100%;
621
+ height: 100%;
622
+ object-fit: cover;
623
+ }
624
+
625
+ .mn-card {
626
+ display: flex;
627
+ flex-direction: column;
628
+ border: 1px solid var(--mn-color-border-default);
629
+ border-radius: var(--mn-radius-lg);
630
+ background: var(--mn-color-bg-surface);
631
+ color: var(--mn-color-text-default);
632
+ }
633
+ .mn-card[data-variant='raised'] {
634
+ border-color: var(--mn-color-border-subtle);
635
+ background: var(--mn-color-bg-raised);
636
+ box-shadow: var(--mn-shadow-md);
637
+ }
638
+ .mn-card[data-variant='subtle'] {
639
+ border-color: transparent;
640
+ background: var(--mn-color-bg-subtle);
641
+ }
642
+ .mn-card__header {
643
+ display: flex;
644
+ flex-direction: column;
645
+ gap: var(--mn-space-1);
646
+ padding: var(--mn-space-5) var(--mn-space-5) 0;
647
+ }
648
+ .mn-card__title {
649
+ margin: 0;
650
+ font-size: var(--mn-text-base);
651
+ font-weight: var(--mn-weight-semibold);
652
+ letter-spacing: var(--mn-tracking-snug);
653
+ line-height: var(--mn-leading-snug);
654
+ }
655
+ .mn-card__description {
656
+ margin: 0;
657
+ color: var(--mn-color-text-muted);
658
+ font-size: var(--mn-text-sm);
659
+ line-height: var(--mn-leading-normal);
660
+ }
661
+ .mn-card__content {
662
+ padding: var(--mn-space-5);
663
+ }
664
+ .mn-card__footer {
665
+ display: flex;
666
+ align-items: center;
667
+ justify-content: flex-end;
668
+ gap: var(--mn-space-2);
669
+ padding: var(--mn-space-3) var(--mn-space-5);
670
+ border-top: 1px solid var(--mn-color-border-subtle);
671
+ }
672
+ .mn-card[data-flush] > .mn-card__content {
673
+ padding: 0;
674
+ }
675
+
676
+ .mn-skeleton {
677
+ display: block;
678
+ border-radius: var(--mn-radius-md);
679
+ background: var(--mn-color-bg-muted);
680
+ animation: mn-shimmer 1.6s var(--mn-ease-standard) infinite;
681
+ }
682
+ .mn-skeleton[data-shape='text'] {
683
+ height: 0.75em;
684
+ border-radius: var(--mn-radius-xs);
685
+ }
686
+ .mn-skeleton[data-shape='circle'] {
687
+ border-radius: var(--mn-radius-full);
688
+ }
689
+ @media (prefers-reduced-motion: reduce) {
690
+ .mn-skeleton {
691
+ animation: none;
692
+ }
693
+ }
694
+
695
+ .mn-empty-state {
696
+ display: flex;
697
+ flex-direction: column;
698
+ align-items: center;
699
+ gap: var(--mn-space-2);
700
+ max-width: 28rem;
701
+ margin-inline: auto;
702
+ padding: var(--mn-space-8) var(--mn-space-4);
703
+ text-align: center;
704
+ }
705
+ .mn-empty-state[data-size='page'] {
706
+ padding-block: var(--mn-space-20);
707
+ }
708
+ .mn-empty-state__icon {
709
+ display: inline-flex;
710
+ align-items: center;
711
+ justify-content: center;
712
+ width: 2.5rem;
713
+ height: 2.5rem;
714
+ margin-bottom: var(--mn-space-2);
715
+ border-radius: var(--mn-radius-lg);
716
+ background: var(--mn-color-accent-subtle);
717
+ color: var(--mn-color-accent-strong);
718
+ }
719
+ .mn-empty-state__icon > svg {
720
+ width: 1.25rem;
721
+ height: 1.25rem;
722
+ }
723
+ .mn-empty-state__title {
724
+ margin: 0;
725
+ font-size: var(--mn-text-base);
726
+ font-weight: var(--mn-weight-semibold);
727
+ letter-spacing: var(--mn-tracking-snug);
728
+ }
729
+ .mn-empty-state__description {
730
+ margin: 0;
731
+ color: var(--mn-color-text-muted);
732
+ font-size: var(--mn-text-sm);
733
+ line-height: var(--mn-leading-relaxed);
734
+ }
735
+ .mn-empty-state__actions {
736
+ display: flex;
737
+ flex-wrap: wrap;
738
+ justify-content: center;
739
+ gap: var(--mn-space-2);
740
+ margin-top: var(--mn-space-3);
741
+ }
742
+
743
+ .mn-alert {
744
+ --_bg: var(--mn-color-bg-subtle);
745
+ --_fg: var(--mn-color-text-muted);
746
+ --_border: var(--mn-color-border-default);
747
+ display: flex;
748
+ align-items: flex-start;
749
+ gap: var(--mn-space-3);
750
+ padding: var(--mn-space-3) var(--mn-space-4);
751
+ border: 1px solid var(--_border);
752
+ border-radius: var(--mn-radius-lg);
753
+ background: var(--_bg);
754
+ color: var(--mn-color-text-default);
755
+ font-size: var(--mn-text-sm);
756
+ line-height: var(--mn-leading-normal);
757
+ }
758
+ .mn-alert__icon {
759
+ display: inline-flex;
760
+ margin-top: 0.125rem;
761
+ color: var(--_fg);
762
+ }
763
+ .mn-alert__body {
764
+ flex: 1;
765
+ min-width: 0;
766
+ }
767
+ .mn-alert__title {
768
+ margin: 0;
769
+ font-weight: var(--mn-weight-semibold);
770
+ }
771
+ .mn-alert__content {
772
+ color: var(--mn-color-text-muted);
773
+ }
774
+ .mn-alert__title + .mn-alert__content {
775
+ margin-top: var(--mn-space-0-5);
776
+ }
777
+ .mn-alert__actions {
778
+ display: flex;
779
+ gap: var(--mn-space-2);
780
+ align-self: center;
781
+ }
782
+ .mn-alert[data-tone='info'] {
783
+ --_bg: var(--mn-color-info-subtle);
784
+ --_fg: var(--mn-color-info-strong);
785
+ --_border: var(--mn-color-info-border);
786
+ }
787
+ .mn-alert[data-tone='success'] {
788
+ --_bg: var(--mn-color-success-subtle);
789
+ --_fg: var(--mn-color-success-strong);
790
+ --_border: var(--mn-color-success-border);
791
+ }
792
+ .mn-alert[data-tone='warning'] {
793
+ --_bg: var(--mn-color-warning-subtle);
794
+ --_fg: var(--mn-color-warning-strong);
795
+ --_border: var(--mn-color-warning-border);
796
+ }
797
+ .mn-alert[data-tone='danger'] {
798
+ --_bg: var(--mn-color-danger-subtle);
799
+ --_fg: var(--mn-color-danger-strong);
800
+ --_border: var(--mn-color-danger-border);
801
+ }
802
+
803
+ /* 40-overlays.css */
804
+ .mn-overlay {
805
+ position: fixed;
806
+ inset: 0;
807
+ z-index: var(--mn-z-overlay);
808
+ background: var(--mn-color-overlay-scrim);
809
+ animation: mn-fade-in var(--mn-duration-base) var(--mn-ease-enter);
810
+ }
811
+
812
+ .mn-dialog {
813
+ --_w: 32rem;
814
+ position: fixed;
815
+ top: 50%;
816
+ left: 50%;
817
+ z-index: var(--mn-z-modal);
818
+ display: flex;
819
+ flex-direction: column;
820
+ width: min(var(--_w), calc(100vw - 2rem));
821
+ max-height: calc(100dvh - 2rem);
822
+ overflow: hidden;
823
+ border: 1px solid var(--mn-color-border-subtle);
824
+ border-radius: var(--mn-radius-xl);
825
+ background: var(--mn-color-bg-raised);
826
+ color: var(--mn-color-text-default);
827
+ box-shadow: var(--mn-shadow-xl);
828
+ transform: translate(-50%, -50%);
829
+ animation: mn-dialog-in var(--mn-duration-slow) var(--mn-ease-enter);
830
+ }
831
+ .mn-dialog:focus-visible {
832
+ outline: none;
833
+ }
834
+ .mn-dialog[data-size='sm'] {
835
+ --_w: 24rem;
836
+ }
837
+ .mn-dialog[data-size='lg'] {
838
+ --_w: 44rem;
839
+ }
840
+ .mn-dialog[data-size='xl'] {
841
+ --_w: 60rem;
842
+ }
843
+ .mn-dialog__header {
844
+ display: flex;
845
+ flex-direction: column;
846
+ gap: var(--mn-space-1);
847
+ padding: var(--mn-space-5) var(--mn-space-12) 0 var(--mn-space-5);
848
+ }
849
+ .mn-dialog__title {
850
+ margin: 0;
851
+ font-size: var(--mn-text-lg);
852
+ font-weight: var(--mn-weight-semibold);
853
+ letter-spacing: var(--mn-tracking-snug);
854
+ line-height: var(--mn-leading-snug);
855
+ }
856
+ .mn-dialog__description {
857
+ margin: 0;
858
+ color: var(--mn-color-text-muted);
859
+ font-size: var(--mn-text-sm);
860
+ line-height: var(--mn-leading-normal);
861
+ }
862
+ .mn-dialog__body {
863
+ flex: 1;
864
+ overflow-y: auto;
865
+ padding: var(--mn-space-5);
866
+ }
867
+ .mn-dialog__footer {
868
+ display: flex;
869
+ flex-wrap: wrap;
870
+ justify-content: flex-end;
871
+ gap: var(--mn-space-2);
872
+ padding: var(--mn-space-3) var(--mn-space-5);
873
+ border-top: 1px solid var(--mn-color-border-subtle);
874
+ background: var(--mn-color-bg-subtle);
875
+ }
876
+ .mn-dialog__close {
877
+ position: absolute;
878
+ top: var(--mn-space-3);
879
+ right: var(--mn-space-3);
880
+ display: inline-flex;
881
+ align-items: center;
882
+ justify-content: center;
883
+ width: var(--mn-control-sm);
884
+ height: var(--mn-control-sm);
885
+ padding: 0;
886
+ border: 0;
887
+ border-radius: var(--mn-radius-md);
888
+ background: transparent;
889
+ color: var(--mn-color-text-muted);
890
+ cursor: pointer;
891
+ }
892
+ .mn-dialog__close:hover {
893
+ background: var(--mn-color-bg-muted);
894
+ color: var(--mn-color-text-default);
895
+ }
896
+
897
+ /* Menus: shared by DropdownMenu and Select. */
898
+ .mn-menu {
899
+ z-index: var(--mn-z-dropdown);
900
+ min-width: 12rem;
901
+ max-width: min(22rem, calc(100vw - 2rem));
902
+ padding: var(--mn-space-1);
903
+ overflow: hidden;
904
+ border: 1px solid var(--mn-color-border-subtle);
905
+ border-radius: var(--mn-radius-lg);
906
+ background: var(--mn-color-bg-raised);
907
+ color: var(--mn-color-text-default);
908
+ box-shadow: var(--mn-shadow-lg);
909
+ animation: mn-pop-in var(--mn-duration-fast) var(--mn-ease-enter);
910
+ }
911
+ .mn-menu__item {
912
+ position: relative;
913
+ display: flex;
914
+ align-items: center;
915
+ gap: var(--mn-space-2);
916
+ min-height: var(--mn-control-sm);
917
+ padding: var(--mn-space-1-5) var(--mn-space-2);
918
+ border-radius: var(--mn-radius-sm);
919
+ font-size: var(--mn-text-sm);
920
+ line-height: var(--mn-leading-snug);
921
+ cursor: default;
922
+ outline: none;
923
+ user-select: none;
924
+ }
925
+ .mn-menu__item[data-highlighted] {
926
+ background: var(--mn-color-bg-muted);
927
+ }
928
+ .mn-menu__item[data-disabled] {
929
+ color: var(--mn-color-text-disabled);
930
+ pointer-events: none;
931
+ }
932
+ .mn-menu__item[data-tone='danger'] {
933
+ color: var(--mn-color-danger-strong);
934
+ }
935
+ .mn-menu__item[data-tone='danger'][data-highlighted] {
936
+ background: var(--mn-color-danger-subtle);
937
+ }
938
+ .mn-menu__icon {
939
+ display: inline-flex;
940
+ color: var(--mn-color-text-muted);
941
+ }
942
+ .mn-menu__icon > svg {
943
+ width: 1rem;
944
+ height: 1rem;
945
+ }
946
+ .mn-menu__text {
947
+ flex: 1;
948
+ min-width: 0;
949
+ }
950
+ .mn-menu__shortcut {
951
+ color: var(--mn-color-text-subtle);
952
+ font-size: var(--mn-text-xs);
953
+ letter-spacing: var(--mn-tracking-wide);
954
+ }
955
+ .mn-menu__indicator {
956
+ display: inline-flex;
957
+ margin-inline-start: auto;
958
+ color: var(--mn-color-accent-strong);
959
+ }
960
+ .mn-menu__label {
961
+ padding: var(--mn-space-1-5) var(--mn-space-2) var(--mn-space-1);
962
+ color: var(--mn-color-text-subtle);
963
+ font-size: var(--mn-text-xs);
964
+ font-weight: var(--mn-weight-medium);
965
+ }
966
+ .mn-menu__separator {
967
+ height: 1px;
968
+ margin: var(--mn-space-1) calc(var(--mn-space-1) * -1);
969
+ background: var(--mn-color-border-subtle);
970
+ }
971
+
972
+ .mn-popover {
973
+ z-index: var(--mn-z-popover);
974
+ width: max-content;
975
+ max-width: min(24rem, calc(100vw - 2rem));
976
+ padding: var(--mn-space-4);
977
+ border: 1px solid var(--mn-color-border-subtle);
978
+ border-radius: var(--mn-radius-lg);
979
+ background: var(--mn-color-bg-raised);
980
+ color: var(--mn-color-text-default);
981
+ box-shadow: var(--mn-shadow-lg);
982
+ animation: mn-pop-in var(--mn-duration-fast) var(--mn-ease-enter);
983
+ }
984
+ .mn-popover:focus-visible {
985
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
986
+ }
987
+
988
+ .mn-tooltip {
989
+ z-index: var(--mn-z-tooltip);
990
+ max-width: 18rem;
991
+ padding: var(--mn-space-1) var(--mn-space-2);
992
+ border-radius: var(--mn-radius-sm);
993
+ background: var(--mn-color-bg-inverse);
994
+ color: var(--mn-color-text-inverse);
995
+ font-size: var(--mn-text-xs);
996
+ line-height: var(--mn-leading-snug);
997
+ box-shadow: var(--mn-shadow-md);
998
+ animation: mn-fade-in var(--mn-duration-fast) var(--mn-ease-enter);
999
+ }
1000
+
1001
+ /* 50-navigation.css */
1002
+ .mn-tabs__list {
1003
+ display: flex;
1004
+ align-items: center;
1005
+ gap: var(--mn-space-1);
1006
+ }
1007
+ .mn-tabs__list[data-variant='line'] {
1008
+ gap: var(--mn-space-4);
1009
+ border-bottom: 1px solid var(--mn-color-border-default);
1010
+ }
1011
+ .mn-tabs__list[data-variant='pill'] {
1012
+ display: inline-flex;
1013
+ padding: var(--mn-space-0-5);
1014
+ border-radius: var(--mn-radius-md);
1015
+ background: var(--mn-color-bg-muted);
1016
+ }
1017
+ .mn-tabs__trigger {
1018
+ position: relative;
1019
+ display: inline-flex;
1020
+ align-items: center;
1021
+ gap: var(--mn-space-1-5);
1022
+ height: var(--mn-control-md);
1023
+ padding: 0;
1024
+ border: 0;
1025
+ background: transparent;
1026
+ color: var(--mn-color-text-muted);
1027
+ font: inherit;
1028
+ font-family: var(--mn-font-sans);
1029
+ font-size: var(--mn-text-sm);
1030
+ font-weight: var(--mn-weight-medium);
1031
+ white-space: nowrap;
1032
+ cursor: pointer;
1033
+ transition: color var(--mn-duration-fast) var(--mn-ease-standard);
1034
+ }
1035
+ .mn-tabs__trigger:hover {
1036
+ color: var(--mn-color-text-default);
1037
+ }
1038
+ .mn-tabs__trigger[data-state='active'] {
1039
+ color: var(--mn-color-text-default);
1040
+ }
1041
+ .mn-tabs__trigger[data-disabled] {
1042
+ color: var(--mn-color-text-disabled);
1043
+ cursor: not-allowed;
1044
+ }
1045
+ [data-variant='line'] > .mn-tabs__trigger::after {
1046
+ content: '';
1047
+ position: absolute;
1048
+ inset-inline: 0;
1049
+ bottom: -1px;
1050
+ height: 2px;
1051
+ border-radius: 2px 2px 0 0;
1052
+ background: transparent;
1053
+ transition: background-color var(--mn-duration-fast) var(--mn-ease-standard);
1054
+ }
1055
+ [data-variant='line'] > .mn-tabs__trigger[data-state='active']::after {
1056
+ background: var(--mn-color-accent-strong);
1057
+ }
1058
+ [data-variant='pill'] > .mn-tabs__trigger {
1059
+ height: calc(var(--mn-control-md) - 0.375rem);
1060
+ padding-inline: var(--mn-space-3);
1061
+ border-radius: var(--mn-radius-sm);
1062
+ }
1063
+ [data-variant='pill'] > .mn-tabs__trigger[data-state='active'] {
1064
+ background: var(--mn-color-bg-surface);
1065
+ box-shadow: var(--mn-shadow-xs);
1066
+ }
1067
+ .mn-tabs__content {
1068
+ padding-top: var(--mn-space-4);
1069
+ }
1070
+ .mn-tabs__content:focus-visible {
1071
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1072
+ outline-offset: 2px;
1073
+ }
1074
+
1075
+ /* 60-data.css */
1076
+ .mn-table-wrap {
1077
+ width: 100%;
1078
+ overflow: auto;
1079
+ }
1080
+ .mn-table {
1081
+ --_py: var(--mn-space-3);
1082
+ width: 100%;
1083
+ border-collapse: collapse;
1084
+ font-size: var(--mn-text-sm);
1085
+ line-height: var(--mn-leading-snug);
1086
+ color: var(--mn-color-text-default);
1087
+ }
1088
+ .mn-table[data-density='compact'] {
1089
+ --_py: var(--mn-space-1-5);
1090
+ font-size: var(--mn-text-xs);
1091
+ }
1092
+ .mn-table__caption {
1093
+ padding: var(--mn-space-2) var(--mn-space-3);
1094
+ color: var(--mn-color-text-muted);
1095
+ font-size: var(--mn-text-xs);
1096
+ text-align: start;
1097
+ caption-side: bottom;
1098
+ }
1099
+ .mn-table__head {
1100
+ padding: var(--mn-space-2) var(--mn-space-3);
1101
+ border-bottom: 1px solid var(--mn-color-border-default);
1102
+ background: var(--mn-color-bg-subtle);
1103
+ color: var(--mn-color-text-muted);
1104
+ font-size: var(--mn-text-xs);
1105
+ font-weight: var(--mn-weight-medium);
1106
+ letter-spacing: var(--mn-tracking-wide);
1107
+ text-align: start;
1108
+ white-space: nowrap;
1109
+ }
1110
+ .mn-table[data-sticky] .mn-table__head {
1111
+ position: sticky;
1112
+ top: 0;
1113
+ z-index: var(--mn-z-raised);
1114
+ }
1115
+ .mn-table__cell {
1116
+ padding: var(--_py) var(--mn-space-3);
1117
+ border-bottom: 1px solid var(--mn-color-border-subtle);
1118
+ vertical-align: middle;
1119
+ }
1120
+ .mn-table__head[data-numeric],
1121
+ .mn-table__cell[data-numeric] {
1122
+ text-align: end;
1123
+ font-variant-numeric: tabular-nums;
1124
+ }
1125
+ .mn-table__row:hover > .mn-table__cell {
1126
+ background: var(--mn-color-bg-subtle);
1127
+ }
1128
+ .mn-table__row[data-selected] > .mn-table__cell {
1129
+ background: var(--mn-color-accent-subtle);
1130
+ }
1131
+ .mn-table__row[data-interactive] {
1132
+ cursor: pointer;
1133
+ }
1134
+ .mn-table__select {
1135
+ width: 2.5rem;
1136
+ padding-inline: var(--mn-space-3);
1137
+ }
1138
+ .mn-table__sort {
1139
+ display: inline-flex;
1140
+ align-items: center;
1141
+ gap: var(--mn-space-1);
1142
+ margin: calc(var(--mn-space-1) * -1) calc(var(--mn-space-2) * -1);
1143
+ padding: var(--mn-space-1) var(--mn-space-2);
1144
+ border: 0;
1145
+ border-radius: var(--mn-radius-sm);
1146
+ background: transparent;
1147
+ color: inherit;
1148
+ font: inherit;
1149
+ letter-spacing: inherit;
1150
+ cursor: pointer;
1151
+ }
1152
+ .mn-table__sort:hover {
1153
+ color: var(--mn-color-text-default);
1154
+ }
1155
+ .mn-table__sort:focus-visible {
1156
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1157
+ outline-offset: 0;
1158
+ }
1159
+ .mn-table__sort-icon {
1160
+ width: 0.75rem;
1161
+ height: 0.75rem;
1162
+ opacity: 0.35;
1163
+ transition: transform var(--mn-duration-fast) var(--mn-ease-standard);
1164
+ }
1165
+ .mn-table__sort[data-direction='ascending'] .mn-table__sort-icon {
1166
+ opacity: 1;
1167
+ transform: rotate(180deg);
1168
+ }
1169
+ .mn-table__sort[data-direction='descending'] .mn-table__sort-icon {
1170
+ opacity: 1;
1171
+ }
1172
+
1173
+ .mn-pagination {
1174
+ display: flex;
1175
+ align-items: center;
1176
+ gap: var(--mn-space-1);
1177
+ }
1178
+ .mn-pagination__pages {
1179
+ display: flex;
1180
+ align-items: center;
1181
+ gap: var(--mn-space-0-5);
1182
+ margin: 0;
1183
+ padding: 0;
1184
+ list-style: none;
1185
+ }
1186
+ .mn-pagination__page {
1187
+ display: inline-flex;
1188
+ align-items: center;
1189
+ justify-content: center;
1190
+ min-width: var(--mn-control-sm);
1191
+ height: var(--mn-control-sm);
1192
+ padding-inline: var(--mn-space-2);
1193
+ border: 0;
1194
+ border-radius: var(--mn-radius-sm);
1195
+ background: transparent;
1196
+ color: var(--mn-color-text-muted);
1197
+ font: inherit;
1198
+ font-size: var(--mn-text-sm);
1199
+ font-variant-numeric: tabular-nums;
1200
+ cursor: pointer;
1201
+ }
1202
+ .mn-pagination__page:hover {
1203
+ background: var(--mn-color-bg-muted);
1204
+ color: var(--mn-color-text-default);
1205
+ }
1206
+ .mn-pagination__page[aria-current='page'] {
1207
+ background: var(--mn-color-accent-subtle);
1208
+ color: var(--mn-color-accent-strong);
1209
+ font-weight: var(--mn-weight-semibold);
1210
+ }
1211
+ .mn-pagination__page:focus-visible {
1212
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1213
+ outline-offset: 2px;
1214
+ }
1215
+ .mn-pagination__gap {
1216
+ padding-inline: var(--mn-space-1);
1217
+ color: var(--mn-color-text-subtle);
1218
+ }
1219
+ .mn-pagination__range {
1220
+ margin: 0 var(--mn-space-2) 0 0;
1221
+ color: var(--mn-color-text-muted);
1222
+ font-size: var(--mn-text-sm);
1223
+ font-variant-numeric: tabular-nums;
1224
+ }
1225
+
1226
+ .mn-breadcrumb__list {
1227
+ display: flex;
1228
+ flex-wrap: wrap;
1229
+ align-items: center;
1230
+ gap: var(--mn-space-1);
1231
+ margin: 0;
1232
+ padding: 0;
1233
+ list-style: none;
1234
+ font-size: var(--mn-text-sm);
1235
+ }
1236
+ .mn-breadcrumb__link {
1237
+ color: var(--mn-color-text-muted);
1238
+ text-decoration: none;
1239
+ border-radius: var(--mn-radius-xs);
1240
+ }
1241
+ .mn-breadcrumb__link:hover {
1242
+ color: var(--mn-color-text-default);
1243
+ text-decoration: underline;
1244
+ }
1245
+ .mn-breadcrumb__link:focus-visible {
1246
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1247
+ outline-offset: 2px;
1248
+ }
1249
+ .mn-breadcrumb__current {
1250
+ color: var(--mn-color-text-default);
1251
+ font-weight: var(--mn-weight-medium);
1252
+ }
1253
+ .mn-breadcrumb__sep {
1254
+ display: inline-flex;
1255
+ color: var(--mn-color-text-subtle);
1256
+ }
1257
+ .mn-breadcrumb__sep > svg {
1258
+ width: 0.875rem;
1259
+ height: 0.875rem;
1260
+ }
1261
+ .mn-breadcrumb__more {
1262
+ display: inline-flex;
1263
+ align-items: center;
1264
+ height: var(--mn-control-xs);
1265
+ padding-inline: var(--mn-space-1-5);
1266
+ border: 0;
1267
+ border-radius: var(--mn-radius-sm);
1268
+ background: transparent;
1269
+ color: var(--mn-color-text-muted);
1270
+ font: inherit;
1271
+ cursor: pointer;
1272
+ }
1273
+ .mn-breadcrumb__more:hover {
1274
+ background: var(--mn-color-bg-muted);
1275
+ color: var(--mn-color-text-default);
1276
+ }
1277
+ .mn-breadcrumb__more:focus-visible {
1278
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1279
+ outline-offset: 2px;
1280
+ }
1281
+
1282
+ .mn-combobox {
1283
+ position: relative;
1284
+ padding-inline-end: var(--mn-space-1);
1285
+ gap: var(--mn-space-1);
1286
+ }
1287
+ .mn-combobox[data-disabled] {
1288
+ background: var(--mn-color-bg-subtle);
1289
+ cursor: not-allowed;
1290
+ }
1291
+ .mn-combobox:focus-within {
1292
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1293
+ outline-offset: 0;
1294
+ border-color: var(--mn-color-focus-ring);
1295
+ }
1296
+ .mn-combobox__input {
1297
+ flex: 1;
1298
+ min-width: 0;
1299
+ height: 100%;
1300
+ padding: 0;
1301
+ border: 0;
1302
+ background: transparent;
1303
+ color: inherit;
1304
+ font: inherit;
1305
+ outline: none;
1306
+ }
1307
+ .mn-combobox__input::placeholder {
1308
+ color: var(--mn-color-text-subtle);
1309
+ }
1310
+ .mn-combobox__toggle {
1311
+ display: inline-flex;
1312
+ align-items: center;
1313
+ justify-content: center;
1314
+ width: var(--mn-control-xs);
1315
+ height: var(--mn-control-xs);
1316
+ padding: 0;
1317
+ border: 0;
1318
+ border-radius: var(--mn-radius-sm);
1319
+ background: transparent;
1320
+ color: var(--mn-color-text-muted);
1321
+ cursor: pointer;
1322
+ }
1323
+ .mn-combobox__toggle:hover:not(:disabled) {
1324
+ background: var(--mn-color-bg-muted);
1325
+ }
1326
+ .mn-combobox__spinner {
1327
+ color: var(--mn-color-text-muted);
1328
+ }
1329
+ .mn-combobox__content {
1330
+ width: var(--radix-popover-trigger-width, auto);
1331
+ min-width: 12rem;
1332
+ padding: var(--mn-space-1);
1333
+ }
1334
+ .mn-combobox__list {
1335
+ max-height: min(var(--radix-popover-content-available-height, 20rem), 20rem);
1336
+ overflow: auto;
1337
+ }
1338
+ .mn-combobox__list .mn-menu__item {
1339
+ cursor: pointer;
1340
+ }
1341
+ .mn-combobox__list .mn-menu__item[aria-disabled='true'] {
1342
+ color: var(--mn-color-text-disabled);
1343
+ cursor: not-allowed;
1344
+ }
1345
+ .mn-combobox__description {
1346
+ display: block;
1347
+ color: var(--mn-color-text-muted);
1348
+ font-size: var(--mn-text-xs);
1349
+ }
1350
+ .mn-combobox__status {
1351
+ padding: var(--mn-space-3) var(--mn-space-2);
1352
+ color: var(--mn-color-text-muted);
1353
+ font-size: var(--mn-text-sm);
1354
+ text-align: center;
1355
+ }
1356
+
1357
+ /* 70-feedback.css */
1358
+ .mn-toast-viewport {
1359
+ position: fixed;
1360
+ z-index: var(--mn-z-toast);
1361
+ display: flex;
1362
+ flex-direction: column;
1363
+ gap: var(--mn-space-2);
1364
+ width: min(24rem, calc(100vw - 2rem));
1365
+ max-height: 100vh;
1366
+ margin: 0;
1367
+ padding: var(--mn-space-4);
1368
+ list-style: none;
1369
+ outline: none;
1370
+ }
1371
+ .mn-toast-viewport[data-position='bottom-right'] {
1372
+ right: 0;
1373
+ bottom: 0;
1374
+ }
1375
+ .mn-toast-viewport[data-position='bottom-center'] {
1376
+ bottom: 0;
1377
+ left: 50%;
1378
+ transform: translateX(-50%);
1379
+ }
1380
+ .mn-toast-viewport[data-position='top-right'] {
1381
+ top: 0;
1382
+ right: 0;
1383
+ }
1384
+ .mn-toast {
1385
+ --_accent: var(--mn-color-border-strong);
1386
+ display: flex;
1387
+ align-items: flex-start;
1388
+ gap: var(--mn-space-3);
1389
+ padding: var(--mn-space-3) var(--mn-space-3) var(--mn-space-3) var(--mn-space-4);
1390
+ border: 1px solid var(--mn-color-border-subtle);
1391
+ border-inline-start: 3px solid var(--_accent);
1392
+ border-radius: var(--mn-radius-lg);
1393
+ background: var(--mn-color-bg-raised);
1394
+ color: var(--mn-color-text-default);
1395
+ box-shadow: var(--mn-shadow-lg);
1396
+ font-size: var(--mn-text-sm);
1397
+ animation: mn-toast-in var(--mn-duration-slow) var(--mn-ease-enter);
1398
+ }
1399
+ .mn-toast[data-state='closed'] {
1400
+ animation: mn-toast-out var(--mn-duration-base) var(--mn-ease-exit) forwards;
1401
+ }
1402
+ .mn-toast[data-swipe='move'] {
1403
+ transform: translateX(var(--radix-toast-swipe-move-x));
1404
+ }
1405
+ .mn-toast[data-swipe='end'] {
1406
+ animation: mn-toast-out var(--mn-duration-base) var(--mn-ease-exit) forwards;
1407
+ }
1408
+ .mn-toast[data-tone='info'] {
1409
+ --_accent: var(--mn-color-info-strong);
1410
+ }
1411
+ .mn-toast[data-tone='success'] {
1412
+ --_accent: var(--mn-color-success-strong);
1413
+ }
1414
+ .mn-toast[data-tone='warning'] {
1415
+ --_accent: var(--mn-color-warning-strong);
1416
+ }
1417
+ .mn-toast[data-tone='danger'] {
1418
+ --_accent: var(--mn-color-danger-strong);
1419
+ }
1420
+ .mn-toast__icon {
1421
+ display: inline-flex;
1422
+ margin-top: 0.125rem;
1423
+ color: var(--_accent);
1424
+ }
1425
+ .mn-toast__body {
1426
+ flex: 1;
1427
+ min-width: 0;
1428
+ }
1429
+ .mn-toast__title {
1430
+ margin: 0;
1431
+ font-weight: var(--mn-weight-semibold);
1432
+ }
1433
+ .mn-toast__description {
1434
+ margin: var(--mn-space-0-5) 0 0;
1435
+ color: var(--mn-color-text-muted);
1436
+ line-height: var(--mn-leading-normal);
1437
+ }
1438
+ .mn-toast__action {
1439
+ align-self: center;
1440
+ }
1441
+ .mn-toast__close {
1442
+ display: inline-flex;
1443
+ align-items: center;
1444
+ justify-content: center;
1445
+ width: var(--mn-control-xs);
1446
+ height: var(--mn-control-xs);
1447
+ margin: calc(var(--mn-space-1) * -1) calc(var(--mn-space-1) * -1) 0 0;
1448
+ padding: 0;
1449
+ border: 0;
1450
+ border-radius: var(--mn-radius-sm);
1451
+ background: transparent;
1452
+ color: var(--mn-color-text-muted);
1453
+ cursor: pointer;
1454
+ }
1455
+ .mn-toast__close:hover {
1456
+ background: var(--mn-color-bg-muted);
1457
+ color: var(--mn-color-text-default);
1458
+ }
1459
+ .mn-toast__close:focus-visible {
1460
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1461
+ outline-offset: 2px;
1462
+ }
1463
+ @keyframes mn-toast-in {
1464
+ from {
1465
+ opacity: 0;
1466
+ transform: translateY(8px);
1467
+ }
1468
+ }
1469
+ @keyframes mn-toast-out {
1470
+ to {
1471
+ opacity: 0;
1472
+ transform: translateY(4px);
1473
+ }
1474
+ }
1475
+ @media (prefers-reduced-motion: reduce) {
1476
+ .mn-toast,
1477
+ .mn-toast[data-state='closed'] {
1478
+ animation-duration: 0.01ms;
1479
+ }
1480
+ }
1481
+
1482
+ .mn-progress {
1483
+ --_h: 0.5rem;
1484
+ --_fill: var(--mn-color-accent-strong);
1485
+ position: relative;
1486
+ width: 100%;
1487
+ height: var(--_h);
1488
+ overflow: hidden;
1489
+ border-radius: var(--mn-radius-full);
1490
+ background: var(--mn-color-bg-emphasis);
1491
+ }
1492
+ .mn-progress[data-size='sm'] {
1493
+ --_h: 0.25rem;
1494
+ }
1495
+ .mn-progress[data-tone='success'] {
1496
+ --_fill: var(--mn-color-success-strong);
1497
+ }
1498
+ .mn-progress[data-tone='warning'] {
1499
+ --_fill: var(--mn-color-warning-strong);
1500
+ }
1501
+ .mn-progress[data-tone='danger'] {
1502
+ --_fill: var(--mn-color-danger-strong);
1503
+ }
1504
+ .mn-progress__bar {
1505
+ height: 100%;
1506
+ border-radius: inherit;
1507
+ background: var(--_fill);
1508
+ transition: width var(--mn-duration-slow) var(--mn-ease-standard);
1509
+ }
1510
+ .mn-progress[data-indeterminate] .mn-progress__bar {
1511
+ width: 40%;
1512
+ animation: mn-progress-slide 1.4s var(--mn-ease-standard) infinite;
1513
+ }
1514
+ @keyframes mn-progress-slide {
1515
+ from {
1516
+ transform: translateX(-100%);
1517
+ }
1518
+ to {
1519
+ transform: translateX(250%);
1520
+ }
1521
+ }
1522
+ @media (prefers-reduced-motion: reduce) {
1523
+ .mn-progress[data-indeterminate] .mn-progress__bar {
1524
+ animation-duration: 3s;
1525
+ }
1526
+ }
1527
+
1528
+ .mn-separator {
1529
+ flex-shrink: 0;
1530
+ background: var(--mn-color-border-default);
1531
+ }
1532
+ .mn-separator[data-orientation='horizontal'] {
1533
+ width: 100%;
1534
+ height: 1px;
1535
+ }
1536
+ .mn-separator[data-orientation='vertical'] {
1537
+ width: 1px;
1538
+ height: 100%;
1539
+ min-height: 1em;
1540
+ }
1541
+
1542
+ .mn-link {
1543
+ display: inline;
1544
+ align-items: center;
1545
+ gap: var(--mn-space-1);
1546
+ border-radius: var(--mn-radius-xs);
1547
+ color: var(--mn-color-text-link);
1548
+ text-decoration: underline;
1549
+ text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
1550
+ text-underline-offset: 0.15em;
1551
+ transition: text-decoration-color var(--mn-duration-fast) var(--mn-ease-standard);
1552
+ }
1553
+ .mn-link:hover {
1554
+ text-decoration-color: currentColor;
1555
+ }
1556
+ .mn-link[data-variant='standalone'] {
1557
+ display: inline-flex;
1558
+ font-weight: var(--mn-weight-medium);
1559
+ text-decoration: none;
1560
+ }
1561
+ .mn-link[data-variant='standalone']:hover {
1562
+ text-decoration: underline;
1563
+ }
1564
+ .mn-link[data-variant='subtle'] {
1565
+ color: var(--mn-color-text-muted);
1566
+ text-decoration: none;
1567
+ }
1568
+ .mn-link[data-variant='subtle']:hover {
1569
+ color: var(--mn-color-text-default);
1570
+ text-decoration: underline;
1571
+ }
1572
+ .mn-link:focus-visible {
1573
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1574
+ outline-offset: 2px;
1575
+ }
1576
+ .mn-link__external {
1577
+ display: inline-flex;
1578
+ margin-inline-start: 0.2em;
1579
+ vertical-align: -0.05em;
1580
+ }
1581
+
1582
+ /* 80-patterns.css */
1583
+ .mn-page-header {
1584
+ display: flex;
1585
+ flex-direction: column;
1586
+ gap: var(--mn-space-3);
1587
+ padding-bottom: var(--mn-space-4);
1588
+ }
1589
+ .mn-page-header__eyebrow {
1590
+ color: var(--mn-color-text-muted);
1591
+ font-size: var(--mn-text-sm);
1592
+ }
1593
+ .mn-page-header__row {
1594
+ display: flex;
1595
+ flex-wrap: wrap;
1596
+ align-items: flex-start;
1597
+ justify-content: space-between;
1598
+ gap: var(--mn-space-3) var(--mn-space-6);
1599
+ }
1600
+ .mn-page-header__text {
1601
+ display: flex;
1602
+ flex-direction: column;
1603
+ gap: var(--mn-space-1);
1604
+ min-width: 0;
1605
+ }
1606
+ .mn-page-header__title-row {
1607
+ display: flex;
1608
+ flex-wrap: wrap;
1609
+ align-items: center;
1610
+ gap: var(--mn-space-2);
1611
+ }
1612
+ .mn-page-header__title {
1613
+ margin: 0;
1614
+ font-size: var(--mn-text-2xl);
1615
+ font-weight: var(--mn-weight-semibold);
1616
+ letter-spacing: var(--mn-tracking-tight);
1617
+ line-height: var(--mn-leading-tight);
1618
+ }
1619
+ .mn-page-header__description {
1620
+ margin: 0;
1621
+ max-width: var(--mn-layout-reading-max);
1622
+ color: var(--mn-color-text-muted);
1623
+ font-size: var(--mn-text-sm);
1624
+ line-height: var(--mn-leading-normal);
1625
+ }
1626
+ .mn-page-header__actions {
1627
+ display: flex;
1628
+ flex-wrap: wrap;
1629
+ align-items: center;
1630
+ gap: var(--mn-space-2);
1631
+ }
1632
+ .mn-page-header__tabs {
1633
+ margin-bottom: calc(var(--mn-space-4) * -1);
1634
+ }
1635
+
1636
+ .mn-toolbar-wrap {
1637
+ display: flex;
1638
+ flex-direction: column;
1639
+ gap: var(--mn-space-2);
1640
+ }
1641
+ .mn-toolbar {
1642
+ display: flex;
1643
+ flex-wrap: wrap;
1644
+ align-items: center;
1645
+ gap: var(--mn-space-2);
1646
+ }
1647
+ .mn-toolbar__search {
1648
+ flex: 1 1 14rem;
1649
+ min-width: 10rem;
1650
+ max-width: 24rem;
1651
+ }
1652
+ .mn-toolbar__group {
1653
+ display: flex;
1654
+ align-items: center;
1655
+ gap: var(--mn-space-1);
1656
+ }
1657
+ .mn-toolbar__end {
1658
+ display: flex;
1659
+ align-items: center;
1660
+ gap: var(--mn-space-1);
1661
+ margin-inline-start: auto;
1662
+ }
1663
+
1664
+ .mn-filter-bar {
1665
+ display: flex;
1666
+ flex-wrap: wrap;
1667
+ align-items: center;
1668
+ gap: var(--mn-space-1-5);
1669
+ }
1670
+ .mn-filter-chip {
1671
+ display: inline-flex;
1672
+ align-items: center;
1673
+ gap: var(--mn-space-1);
1674
+ height: var(--mn-control-xs);
1675
+ padding-inline: var(--mn-space-2) var(--mn-space-1);
1676
+ border: 1px solid var(--mn-color-border-default);
1677
+ border-radius: var(--mn-radius-full);
1678
+ background: var(--mn-color-bg-surface);
1679
+ font-size: var(--mn-text-xs);
1680
+ line-height: 1;
1681
+ white-space: nowrap;
1682
+ }
1683
+ .mn-filter-chip__name {
1684
+ color: var(--mn-color-text-muted);
1685
+ }
1686
+ .mn-filter-chip__name::after {
1687
+ content: ':';
1688
+ }
1689
+ .mn-filter-chip__value {
1690
+ color: var(--mn-color-text-default);
1691
+ font-weight: var(--mn-weight-medium);
1692
+ }
1693
+ .mn-filter-chip__remove {
1694
+ display: inline-flex;
1695
+ align-items: center;
1696
+ justify-content: center;
1697
+ width: 1.25rem;
1698
+ height: 1.25rem;
1699
+ padding: 0;
1700
+ border: 0;
1701
+ border-radius: var(--mn-radius-full);
1702
+ background: transparent;
1703
+ color: var(--mn-color-text-muted);
1704
+ cursor: pointer;
1705
+ }
1706
+ .mn-filter-chip__remove > svg {
1707
+ width: 0.75rem;
1708
+ height: 0.75rem;
1709
+ }
1710
+ .mn-filter-chip__remove:hover {
1711
+ background: var(--mn-color-bg-muted);
1712
+ color: var(--mn-color-text-default);
1713
+ }
1714
+ .mn-filter-chip__remove:focus-visible {
1715
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1716
+ outline-offset: 1px;
1717
+ }
1718
+ .mn-filter-bar__clear {
1719
+ height: var(--mn-control-xs);
1720
+ padding-inline: var(--mn-space-2);
1721
+ border: 0;
1722
+ border-radius: var(--mn-radius-sm);
1723
+ background: transparent;
1724
+ color: var(--mn-color-text-link);
1725
+ font: inherit;
1726
+ font-size: var(--mn-text-xs);
1727
+ font-weight: var(--mn-weight-medium);
1728
+ cursor: pointer;
1729
+ }
1730
+ .mn-filter-bar__clear:hover {
1731
+ background: var(--mn-color-accent-subtle);
1732
+ }
1733
+ .mn-filter-bar__clear:focus-visible {
1734
+ outline: var(--mn-focus-ring-width) solid var(--mn-color-focus-ring);
1735
+ outline-offset: 2px;
1736
+ }
1737
+
1738
+ .mn-settings-section {
1739
+ display: grid;
1740
+ gap: var(--mn-space-4);
1741
+ }
1742
+ @media (min-width: 1024px) {
1743
+ .mn-settings-section {
1744
+ grid-template-columns: minmax(0, 18rem) minmax(0, 1fr);
1745
+ gap: var(--mn-space-8);
1746
+ }
1747
+ }
1748
+ .mn-settings-section__title {
1749
+ margin: 0;
1750
+ font-size: var(--mn-text-base);
1751
+ font-weight: var(--mn-weight-semibold);
1752
+ letter-spacing: var(--mn-tracking-snug);
1753
+ }
1754
+ .mn-settings-section__description {
1755
+ margin: var(--mn-space-1) 0 0;
1756
+ color: var(--mn-color-text-muted);
1757
+ font-size: var(--mn-text-sm);
1758
+ line-height: var(--mn-leading-normal);
1759
+ }
1760
+ .mn-settings-section__card {
1761
+ border: 1px solid var(--mn-color-border-default);
1762
+ border-radius: var(--mn-radius-lg);
1763
+ background: var(--mn-color-bg-surface);
1764
+ }
1765
+ .mn-settings-section[data-tone='danger'] .mn-settings-section__card {
1766
+ border-color: var(--mn-color-danger-border);
1767
+ }
1768
+ .mn-settings-section[data-tone='danger'] .mn-settings-section__title {
1769
+ color: var(--mn-color-danger-strong);
1770
+ }
1771
+ .mn-settings-section__body {
1772
+ display: flex;
1773
+ flex-direction: column;
1774
+ }
1775
+ .mn-settings-section__body > * + * {
1776
+ border-top: 1px solid var(--mn-color-border-subtle);
1777
+ }
1778
+ .mn-settings-section__footer {
1779
+ display: flex;
1780
+ justify-content: flex-end;
1781
+ gap: var(--mn-space-2);
1782
+ padding: var(--mn-space-3) var(--mn-space-5);
1783
+ border-top: 1px solid var(--mn-color-border-subtle);
1784
+ background: var(--mn-color-bg-subtle);
1785
+ border-radius: 0 0 var(--mn-radius-lg) var(--mn-radius-lg);
1786
+ }
1787
+ .mn-settings-row {
1788
+ display: grid;
1789
+ gap: var(--mn-space-2);
1790
+ padding: var(--mn-space-4) var(--mn-space-5);
1791
+ }
1792
+ @media (min-width: 768px) {
1793
+ .mn-settings-row {
1794
+ grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
1795
+ align-items: center;
1796
+ gap: var(--mn-space-6);
1797
+ }
1798
+ }
1799
+ .mn-settings-row__text {
1800
+ display: flex;
1801
+ flex-direction: column;
1802
+ gap: var(--mn-space-0-5);
1803
+ }
1804
+ .mn-settings-row__control {
1805
+ display: flex;
1806
+ flex-direction: column;
1807
+ gap: var(--mn-space-1-5);
1808
+ }
1809
+
1810
+ .mn-dl {
1811
+ display: grid;
1812
+ gap: var(--mn-space-4) var(--mn-space-6);
1813
+ margin: 0;
1814
+ }
1815
+ .mn-dl[data-columns='2'] {
1816
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1817
+ }
1818
+ .mn-dl[data-columns='3'] {
1819
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1820
+ }
1821
+ @media (max-width: 640px) {
1822
+ .mn-dl {
1823
+ grid-template-columns: 1fr;
1824
+ }
1825
+ }
1826
+ .mn-dl__item {
1827
+ display: flex;
1828
+ flex-direction: column;
1829
+ gap: var(--mn-space-0-5);
1830
+ min-width: 0;
1831
+ }
1832
+ .mn-dl__item[data-wide] {
1833
+ grid-column: 1 / -1;
1834
+ }
1835
+ .mn-dl[data-layout='inline'] .mn-dl__item {
1836
+ flex-direction: row;
1837
+ gap: var(--mn-space-3);
1838
+ }
1839
+ .mn-dl[data-layout='inline'] .mn-dl__term {
1840
+ flex: 0 0 9rem;
1841
+ }
1842
+ .mn-dl__term {
1843
+ color: var(--mn-color-text-muted);
1844
+ font-size: var(--mn-text-xs);
1845
+ font-weight: var(--mn-weight-medium);
1846
+ letter-spacing: var(--mn-tracking-wide);
1847
+ }
1848
+ .mn-dl__value {
1849
+ margin: 0;
1850
+ color: var(--mn-color-text-default);
1851
+ font-size: var(--mn-text-sm);
1852
+ overflow-wrap: anywhere;
1853
+ }
1854
+
1855
+ .mn-split {
1856
+ --_list: 22rem;
1857
+ display: grid;
1858
+ grid-template-columns: minmax(0, 1fr);
1859
+ min-height: 0;
1860
+ height: 100%;
1861
+ }
1862
+ .mn-split[data-list-width='sm'] {
1863
+ --_list: 18rem;
1864
+ }
1865
+ .mn-split[data-list-width='lg'] {
1866
+ --_list: 28rem;
1867
+ }
1868
+ .mn-split__list,
1869
+ .mn-split__detail {
1870
+ min-width: 0;
1871
+ min-height: 0;
1872
+ overflow: auto;
1873
+ }
1874
+ .mn-split__list {
1875
+ border-inline-end: 1px solid var(--mn-color-border-default);
1876
+ }
1877
+ .mn-split__back {
1878
+ padding: var(--mn-space-2);
1879
+ border-bottom: 1px solid var(--mn-color-border-subtle);
1880
+ }
1881
+ @media (max-width: 767px) {
1882
+ .mn-split__detail {
1883
+ display: none;
1884
+ }
1885
+ .mn-split[data-detail-open] .mn-split__list {
1886
+ display: none;
1887
+ }
1888
+ .mn-split[data-detail-open] .mn-split__detail {
1889
+ display: block;
1890
+ }
1891
+ }
1892
+ @media (min-width: 768px) {
1893
+ .mn-split {
1894
+ grid-template-columns: var(--_list) minmax(0, 1fr);
1895
+ }
1896
+ .mn-split__back {
1897
+ display: none;
1898
+ }
1899
+ }
1900
+
1901
+ .mn-stat {
1902
+ display: flex;
1903
+ align-items: flex-start;
1904
+ justify-content: space-between;
1905
+ gap: var(--mn-space-4);
1906
+ padding: var(--mn-space-4) var(--mn-space-5);
1907
+ border: 1px solid var(--mn-color-border-default);
1908
+ border-radius: var(--mn-radius-lg);
1909
+ background: var(--mn-color-bg-surface);
1910
+ }
1911
+ .mn-stat__body {
1912
+ display: flex;
1913
+ flex-direction: column;
1914
+ gap: var(--mn-space-1);
1915
+ min-width: 0;
1916
+ }
1917
+ .mn-stat__label {
1918
+ margin: 0;
1919
+ color: var(--mn-color-text-muted);
1920
+ font-size: var(--mn-text-sm);
1921
+ font-weight: var(--mn-weight-medium);
1922
+ }
1923
+ .mn-stat__value {
1924
+ margin: 0;
1925
+ font-size: var(--mn-text-2xl);
1926
+ font-weight: var(--mn-weight-semibold);
1927
+ letter-spacing: var(--mn-tracking-tight);
1928
+ line-height: var(--mn-leading-tight);
1929
+ font-variant-numeric: tabular-nums;
1930
+ }
1931
+ .mn-stat__footer {
1932
+ display: flex;
1933
+ align-items: center;
1934
+ gap: var(--mn-space-2);
1935
+ margin: 0;
1936
+ font-size: var(--mn-text-xs);
1937
+ }
1938
+ .mn-stat__delta {
1939
+ display: inline-flex;
1940
+ align-items: center;
1941
+ gap: var(--mn-space-0-5);
1942
+ font-weight: var(--mn-weight-medium);
1943
+ color: var(--mn-color-text-muted);
1944
+ }
1945
+ .mn-stat__delta[data-tone='success'] {
1946
+ color: var(--mn-color-success-strong);
1947
+ }
1948
+ .mn-stat__delta[data-tone='danger'] {
1949
+ color: var(--mn-color-danger-strong);
1950
+ }
1951
+ .mn-stat__caption {
1952
+ color: var(--mn-color-text-subtle);
1953
+ }
1954
+ .mn-stat__visual {
1955
+ flex-shrink: 0;
1956
+ color: var(--mn-color-accent-strong);
1957
+ }
1958
+
1959
+ .mn-error-state .mn-empty-state__icon {
1960
+ background: var(--mn-color-danger-subtle);
1961
+ color: var(--mn-color-danger-strong);
1962
+ }
1963
+
1964
+ .mn-loading-state {
1965
+ display: flex;
1966
+ flex-direction: column;
1967
+ gap: var(--mn-space-3);
1968
+ }
1969
+ .mn-loading-state[data-variant='cards'] {
1970
+ display: grid;
1971
+ grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
1972
+ }
1973
+ .mn-loading-state__row {
1974
+ display: flex;
1975
+ align-items: center;
1976
+ gap: var(--mn-space-3);
1977
+ }
1978
+ .mn-loading-state__lines {
1979
+ display: flex;
1980
+ flex: 1;
1981
+ flex-direction: column;
1982
+ gap: var(--mn-space-2);
1983
+ }
1984
+ }