@inf-monkeys-tech/monkeys-design 0.4.51 → 0.4.52

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 (49) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +335 -335
  3. package/dist/components/base/index.js +1 -1
  4. package/dist/components/base/index.js.map +1 -1
  5. package/dist/components/base/index.mjs +1 -1
  6. package/dist/components/base/index.mjs.map +1 -1
  7. package/dist/components/data-explorer/index.js.map +1 -1
  8. package/dist/components/data-explorer/index.mjs.map +1 -1
  9. package/dist/components/layout/index.js +1 -1
  10. package/dist/components/layout/index.js.map +1 -1
  11. package/dist/components/layout/index.mjs +1 -1
  12. package/dist/components/layout/index.mjs.map +1 -1
  13. package/dist/components/login/index.js.map +1 -1
  14. package/dist/components/login/index.mjs.map +1 -1
  15. package/dist/components/toast/index.js.map +1 -1
  16. package/dist/components/toast/index.mjs.map +1 -1
  17. package/dist/components/toolbar/index.js.map +1 -1
  18. package/dist/components/toolbar/index.mjs.map +1 -1
  19. package/dist/components/workbench/index.js +1 -1
  20. package/dist/components/workbench/index.js.map +1 -1
  21. package/dist/components/workbench/index.mjs +1 -1
  22. package/dist/components/workbench/index.mjs.map +1 -1
  23. package/dist/icons/oauth/index.js.map +1 -1
  24. package/dist/icons/oauth/index.mjs.map +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +1 -1
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/palette/index.js.map +1 -1
  30. package/dist/palette/index.mjs.map +1 -1
  31. package/dist/registry/index.js.map +1 -1
  32. package/dist/registry/index.mjs.map +1 -1
  33. package/dist/styles/global.scss +21 -21
  34. package/dist/styles/login-page.scss +518 -518
  35. package/dist/styles/workflow-board.scss +440 -440
  36. package/dist/styles/workflow-nodes.css +340 -340
  37. package/dist/theme-system/index.js +1 -1
  38. package/dist/theme-system/index.js.map +1 -1
  39. package/dist/theme-system/index.mjs +1 -1
  40. package/dist/theme-system/index.mjs.map +1 -1
  41. package/dist/themes/artist/index.js.map +1 -1
  42. package/dist/themes/artist/index.mjs.map +1 -1
  43. package/dist/themes/bsd/index.js.map +1 -1
  44. package/dist/themes/bsd/index.mjs.map +1 -1
  45. package/dist/themes/concept/index.js.map +1 -1
  46. package/dist/themes/concept/index.mjs.map +1 -1
  47. package/dist/themes/default/index.js.map +1 -1
  48. package/dist/themes/default/index.mjs.map +1 -1
  49. package/package.json +151 -151
@@ -1,518 +1,518 @@
1
- .login-page {
2
- --login-page-primary-color: var(--login-page-theme-primary-color, hsl(var(--primary, 222.2 47.4% 11.2%)));
3
- --login-page-primary-foreground: hsl(var(--primary-foreground, 0 0% 100%));
4
- --login-page-radius: var(--login-page-theme-radius, var(--radius, 12px));
5
- --login-page-text-color: hsl(var(--foreground, 222.2 47.4% 11.2%));
6
- --login-page-muted-color: hsl(var(--muted-foreground, 215.4 16.3% 46.9%));
7
- --login-page-background-base: #ffffff;
8
- --login-page-panel-bg: color-mix(in srgb, hsl(var(--background, 0 0% 100%)) 92%, transparent);
9
- --login-page-panel-border: color-mix(in srgb, var(--login-page-primary-color) 22%, transparent);
10
- --login-page-panel-shadow: 0 24px 80px rgb(15 23 42 / 18%);
11
- --login-page-control-bg: hsl(var(--background, 0 0% 100%));
12
- --login-page-control-border: hsl(var(--border, 214.3 31.8% 91.4%));
13
- --login-page-control-text: var(--login-page-text-color);
14
- --login-page-control-placeholder: var(--login-page-muted-color);
15
- --login-page-control-focus: color-mix(in srgb, var(--login-page-primary-color) 26%, transparent);
16
- --login-page-callout-warning-bg: rgb(254 252 232 / 86%);
17
- --login-page-callout-warning-border: rgb(250 204 21 / 46%);
18
- --login-page-callout-warning-text: rgb(113 63 18);
19
- --login-page-callout-success-bg: rgb(240 253 244 / 86%);
20
- --login-page-callout-success-border: rgb(34 197 94 / 34%);
21
- --login-page-callout-success-text: rgb(22 101 52);
22
- --login-page-callout-danger-bg: rgb(254 242 242 / 88%);
23
- --login-page-callout-danger-border: rgb(248 113 113 / 40%);
24
- --login-page-callout-danger-text: rgb(153 27 27);
25
- --login-page-background-gradient: radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--login-page-primary-color) 22%, transparent), transparent 32%),
26
- linear-gradient(135deg, color-mix(in srgb, var(--login-page-primary-color) 18%, var(--login-page-background-base)) 0%, var(--login-page-background-base) 58%);
27
- --login-page-logo-size: 48px;
28
- --login-page-form-width: 500px;
29
- --login-page-form-padding: 72px;
30
- --login-page-form-min-height: 720px;
31
-
32
- position: relative;
33
- display: flex;
34
- min-height: 100vh;
35
- width: 100vw;
36
- align-items: center;
37
- justify-content: flex-end;
38
- overflow: hidden;
39
- padding: clamp(24px, 5vw, 72px);
40
- color: var(--login-page-text-color);
41
- background: var(--login-page-background-gradient);
42
- box-sizing: border-box;
43
- }
44
-
45
- .dark .login-page {
46
- --login-page-background-base: #000000;
47
- --login-page-text-color: hsl(var(--foreground, 210 40% 98%));
48
- --login-page-muted-color: hsl(var(--muted-foreground, 215 20.2% 65.1%));
49
- --login-page-panel-bg: color-mix(in srgb, hsl(var(--background, 222.2 84% 4.9%)) 88%, transparent);
50
- --login-page-panel-border: color-mix(in srgb, var(--login-page-primary-color) 30%, transparent);
51
- --login-page-panel-shadow: 0 24px 80px rgb(0 0 0 / 36%);
52
- --login-page-control-bg: hsl(var(--background, 222.2 84% 4.9%));
53
- --login-page-control-border: hsl(var(--border, 217.2 32.6% 17.5%));
54
- --login-page-callout-warning-bg: rgb(113 63 18 / 28%);
55
- --login-page-callout-warning-border: rgb(250 204 21 / 34%);
56
- --login-page-callout-warning-text: rgb(254 240 138);
57
- --login-page-callout-success-bg: rgb(22 101 52 / 28%);
58
- --login-page-callout-success-border: rgb(34 197 94 / 32%);
59
- --login-page-callout-success-text: rgb(187 247 208);
60
- --login-page-callout-danger-bg: rgb(127 29 29 / 30%);
61
- --login-page-callout-danger-border: rgb(248 113 113 / 34%);
62
- --login-page-callout-danger-text: rgb(254 202 202);
63
- }
64
-
65
- .login-page *,
66
- .login-page *::before,
67
- .login-page *::after {
68
- box-sizing: border-box;
69
- }
70
-
71
- .login-page__background {
72
- position: absolute;
73
- inset: 0;
74
- z-index: 0;
75
- background: var(--login-page-background-gradient);
76
- background-position: center;
77
- background-size: cover;
78
- }
79
-
80
- .login-page__background::after {
81
- position: absolute;
82
- inset: 0;
83
- content: '';
84
- background: var(--login-page-background-overlay, transparent);
85
- }
86
-
87
- .login-page__toolbar {
88
- position: absolute;
89
- top: clamp(20px, 4vw, 48px);
90
- right: clamp(20px, 4vw, 48px);
91
- z-index: 2;
92
- display: inline-flex;
93
- align-items: center;
94
- gap: 8px;
95
- }
96
-
97
- .login-page__logo {
98
- position: absolute;
99
- left: clamp(20px, 4vw, 48px);
100
- z-index: 1;
101
- display: flex;
102
- align-items: center;
103
- }
104
-
105
- .login-page__logo--top {
106
- top: clamp(20px, 4vw, 48px);
107
- }
108
-
109
- .login-page__logo--middle {
110
- top: 50%;
111
- transform: translateY(-50%);
112
- }
113
-
114
- .login-page__logo--bottom {
115
- bottom: clamp(20px, 4vw, 48px);
116
- }
117
-
118
- .login-page__logo-image {
119
- display: block;
120
- height: var(--login-page-logo-size);
121
- width: auto;
122
- max-width: min(320px, 42vw);
123
- object-fit: contain;
124
- transform-origin: left center;
125
- }
126
-
127
- .login-page__logo-image--dark {
128
- display: none;
129
- }
130
-
131
- .dark .login-page__logo-image--light {
132
- display: none;
133
- }
134
-
135
- .dark .login-page__logo-image--dark {
136
- display: block;
137
- }
138
-
139
- .login-page__form {
140
- position: relative;
141
- z-index: 1;
142
- width: min(var(--login-page-form-width), 100%);
143
- min-height: min(var(--login-page-form-min-height), calc(100vh - 48px));
144
- padding: var(--login-page-form-padding);
145
- overflow: hidden;
146
- color: var(--login-page-text-color);
147
- background: var(--login-page-panel-bg);
148
- border: 1px solid var(--login-page-panel-border);
149
- border-radius: var(--login-page-radius);
150
- box-shadow: var(--login-page-panel-shadow);
151
- backdrop-filter: blur(16px);
152
- }
153
-
154
- .login-page__back {
155
- position: absolute;
156
- top: 20px;
157
- right: 20px;
158
- display: inline-flex;
159
- align-items: center;
160
- gap: 8px;
161
- min-height: 36px;
162
- padding: 0 14px;
163
- color: var(--login-page-text-color);
164
- background: color-mix(in srgb, var(--login-page-control-bg) 86%, transparent);
165
- border: 1px solid var(--login-page-control-border);
166
- border-radius: var(--login-page-radius);
167
- cursor: pointer;
168
- }
169
-
170
- .login-page__back:hover {
171
- border-color: var(--login-page-primary-color);
172
- }
173
-
174
- .login-page__back-icon,
175
- .login-page__tab-icon,
176
- .login-page__oauth-icon {
177
- display: inline-flex;
178
- width: 18px;
179
- height: 18px;
180
- align-items: center;
181
- justify-content: center;
182
- flex: none;
183
- }
184
-
185
- .login-page__back-icon svg,
186
- .login-page__tab-icon svg,
187
- .login-page__oauth-icon svg {
188
- width: 100%;
189
- height: 100%;
190
- }
191
-
192
- .login-page__title {
193
- margin: 64px 0 28px;
194
- color: var(--login-page-title-color, var(--login-page-text-color));
195
- font-size: 28px;
196
- font-weight: 700;
197
- line-height: 1.2;
198
- }
199
-
200
- .login-page__tabs {
201
- display: flex;
202
- gap: 0;
203
- margin-bottom: 28px;
204
- overflow-x: auto;
205
- overflow-y: hidden;
206
- border: 1px solid var(--login-page-control-border);
207
- border-radius: var(--login-page-radius);
208
- background: color-mix(in srgb, var(--login-page-control-bg) 76%, transparent);
209
- scrollbar-width: none;
210
- }
211
-
212
- .login-page__tabs::-webkit-scrollbar {
213
- display: none;
214
- }
215
-
216
- .login-page__tab {
217
- display: inline-flex;
218
- flex: 1 0 auto;
219
- min-width: max-content;
220
- align-items: center;
221
- justify-content: center;
222
- gap: 6px;
223
- min-height: 44px;
224
- padding: 0 10px;
225
- color: var(--login-page-muted-color);
226
- background: transparent;
227
- border: 0;
228
- cursor: pointer;
229
- font: inherit;
230
- font-size: 14px;
231
- line-height: 1.2;
232
- white-space: nowrap;
233
- }
234
-
235
- .login-page .login-page__tab > *,
236
- .login-page .login-page__tab svg {
237
- color: inherit;
238
- }
239
-
240
- .login-page__tab-label {
241
- display: inline-block;
242
- white-space: nowrap;
243
- }
244
-
245
- .login-page__tab--active {
246
- color: var(--login-page-primary-foreground);
247
- background: var(--login-page-primary-color);
248
- }
249
-
250
- .login-page__form-fields {
251
- display: flex;
252
- flex-direction: column;
253
- gap: 18px;
254
- }
255
-
256
- .login-page__input {
257
- display: block;
258
- width: 100%;
259
- min-height: 48px;
260
- padding: 0 16px;
261
- color: var(--login-page-control-text);
262
- background: var(--login-page-control-bg);
263
- border: 1px solid var(--login-page-control-border);
264
- border-radius: var(--login-page-radius);
265
- outline: none;
266
- font: inherit;
267
- }
268
-
269
- .login-page__input::placeholder {
270
- color: var(--login-page-control-placeholder);
271
- }
272
-
273
- .login-page__input:focus {
274
- border-color: var(--login-page-primary-color);
275
- box-shadow: 0 0 0 3px var(--login-page-control-focus);
276
- }
277
-
278
- .login-page__remember {
279
- display: inline-flex;
280
- width: fit-content;
281
- align-items: center;
282
- gap: 8px;
283
- color: var(--login-page-muted-color);
284
- font-size: 14px;
285
- }
286
-
287
- .login-page__checkbox {
288
- width: 16px;
289
- height: 16px;
290
- accent-color: var(--login-page-primary-color);
291
- }
292
-
293
- .login-page__method-footer {
294
- display: flex;
295
- min-height: 32px;
296
- align-items: center;
297
- justify-content: flex-end;
298
- color: var(--login-page-muted-color);
299
- font-size: 14px;
300
- }
301
-
302
- .login-page__submit,
303
- .login-page__oauth-button,
304
- .login-page__callout-action,
305
- .login-page__method-footer-action {
306
- display: inline-flex;
307
- min-height: 46px;
308
- align-items: center;
309
- justify-content: center;
310
- gap: 8px;
311
- padding: 0 18px;
312
- border-radius: var(--login-page-radius);
313
- cursor: pointer;
314
- font: inherit;
315
- font-weight: 600;
316
- }
317
-
318
- .login-page__submit {
319
- width: 100%;
320
- color: var(--login-page-primary-foreground);
321
- background: var(--login-page-primary-color);
322
- border: 1px solid transparent;
323
- }
324
-
325
- .login-page__submit:hover:not(:disabled),
326
- .login-page__oauth-button:hover:not(:disabled),
327
- .login-page__callout-action:hover:not(:disabled),
328
- .login-page__method-footer-action:hover:not(:disabled) {
329
- transform: translateY(-1px);
330
- }
331
-
332
- .login-page__submit:disabled,
333
- .login-page__oauth-button:disabled,
334
- .login-page__callout-action:disabled,
335
- .login-page__method-footer-action:disabled,
336
- .login-page__input:disabled {
337
- cursor: not-allowed;
338
- opacity: 0.62;
339
- }
340
-
341
- .login-page__method-footer-action {
342
- min-height: 32px;
343
- padding: 0;
344
- color: var(--login-page-primary-color);
345
- background: transparent;
346
- border: 0;
347
- }
348
-
349
- .login-page__callout {
350
- margin-top: 18px;
351
- padding: 14px;
352
- color: var(--login-page-callout-text, var(--login-page-text-color));
353
- background: var(--login-page-callout-bg, color-mix(in srgb, var(--login-page-primary-color) 10%, transparent));
354
- border: 1px solid var(--login-page-callout-border, color-mix(in srgb, var(--login-page-primary-color) 28%, transparent));
355
- border-radius: var(--login-page-radius);
356
- }
357
-
358
- .login-page__callout--warning {
359
- --login-page-callout-bg: var(--login-page-callout-warning-bg);
360
- --login-page-callout-border: var(--login-page-callout-warning-border);
361
- --login-page-callout-text: var(--login-page-callout-warning-text);
362
- }
363
-
364
- .login-page__callout--success {
365
- --login-page-callout-bg: var(--login-page-callout-success-bg);
366
- --login-page-callout-border: var(--login-page-callout-success-border);
367
- --login-page-callout-text: var(--login-page-callout-success-text);
368
- }
369
-
370
- .login-page__callout--danger {
371
- --login-page-callout-bg: var(--login-page-callout-danger-bg);
372
- --login-page-callout-border: var(--login-page-callout-danger-border);
373
- --login-page-callout-text: var(--login-page-callout-danger-text);
374
- }
375
-
376
- .login-page__callout-title {
377
- font-weight: 700;
378
- }
379
-
380
- .login-page__callout-description,
381
- .login-page__callout-detail {
382
- margin: 6px 0 0;
383
- color: color-mix(in srgb, currentColor 76%, transparent);
384
- font-size: 14px;
385
- line-height: 1.5;
386
- }
387
-
388
- .login-page__callout-action {
389
- min-height: 36px;
390
- margin-top: 12px;
391
- color: var(--login-page-text-color);
392
- background: var(--login-page-control-bg);
393
- border: 1px solid var(--login-page-control-border);
394
- }
395
-
396
- .login-page__external-panel {
397
- display: flex;
398
- flex-direction: column;
399
- align-items: center;
400
- gap: 14px;
401
- }
402
-
403
- .login-page__external-panel-title {
404
- width: 100%;
405
- color: var(--login-page-text-color);
406
- font-size: 18px;
407
- font-weight: 700;
408
- line-height: 1.3;
409
- text-align: center;
410
- }
411
-
412
- .login-page__external-panel-description {
413
- margin: 0;
414
- color: var(--login-page-muted-color);
415
- font-size: 14px;
416
- line-height: 1.5;
417
- text-align: center;
418
- }
419
-
420
- .login-page__external-panel-content {
421
- display: flex;
422
- width: 100%;
423
- min-height: 220px;
424
- align-items: center;
425
- justify-content: center;
426
- }
427
-
428
- .login-page__external-panel-footer {
429
- display: flex;
430
- width: 100%;
431
- flex-direction: column;
432
- align-items: center;
433
- gap: 10px;
434
- color: var(--login-page-muted-color);
435
- font-size: 13px;
436
- line-height: 1.5;
437
- text-align: center;
438
- }
439
-
440
- .login-page__external-panel-back {
441
- display: inline-flex;
442
- min-height: 36px;
443
- align-items: center;
444
- justify-content: center;
445
- padding: 0 14px;
446
- color: var(--login-page-primary-color);
447
- background: transparent;
448
- border: 0;
449
- cursor: pointer;
450
- font: inherit;
451
- font-weight: 600;
452
- }
453
-
454
- .login-page__oauth-section {
455
- display: flex;
456
- flex-direction: column;
457
- align-items: center;
458
- gap: 8px;
459
- margin-top: 20px;
460
- }
461
-
462
- .login-page__oauth-label {
463
- color: var(--login-page-muted-color);
464
- font-size: 14px;
465
- }
466
-
467
- .login-page__oauth-list {
468
- display: flex;
469
- width: 100%;
470
- flex-wrap: wrap;
471
- justify-content: center;
472
- gap: 6px;
473
- }
474
-
475
- .login-page__oauth-button {
476
- min-width: min(96px, 100%);
477
- min-height: 38px;
478
- gap: 6px;
479
- padding: 0 10px;
480
- color: var(--login-page-text-color);
481
- background: color-mix(in srgb, var(--login-page-control-bg) 78%, transparent);
482
- border: 1px solid var(--login-page-control-border);
483
- font-size: 13px;
484
- line-height: 1.2;
485
- white-space: nowrap;
486
- }
487
-
488
- .login-page__oauth-button .login-page__oauth-icon {
489
- width: 16px;
490
- height: 16px;
491
- }
492
-
493
- @media (max-width: 768px) {
494
- .login-page {
495
- justify-content: center;
496
- padding: 20px;
497
- }
498
-
499
- .login-page__form {
500
- width: 100%;
501
- min-height: auto;
502
- padding: 56px 20px 24px;
503
- }
504
-
505
- .login-page__title {
506
- margin-top: 40px;
507
- font-size: 24px;
508
- }
509
-
510
- .login-page__logo {
511
- left: 20px;
512
- }
513
-
514
- .login-page__toolbar {
515
- top: 20px;
516
- right: 20px;
517
- }
518
- }
1
+ .login-page {
2
+ --login-page-primary-color: var(--login-page-theme-primary-color, hsl(var(--primary, 222.2 47.4% 11.2%)));
3
+ --login-page-primary-foreground: hsl(var(--primary-foreground, 0 0% 100%));
4
+ --login-page-radius: var(--login-page-theme-radius, var(--radius, 12px));
5
+ --login-page-text-color: hsl(var(--foreground, 222.2 47.4% 11.2%));
6
+ --login-page-muted-color: hsl(var(--muted-foreground, 215.4 16.3% 46.9%));
7
+ --login-page-background-base: #ffffff;
8
+ --login-page-panel-bg: color-mix(in srgb, hsl(var(--background, 0 0% 100%)) 92%, transparent);
9
+ --login-page-panel-border: color-mix(in srgb, var(--login-page-primary-color) 22%, transparent);
10
+ --login-page-panel-shadow: 0 24px 80px rgb(15 23 42 / 18%);
11
+ --login-page-control-bg: hsl(var(--background, 0 0% 100%));
12
+ --login-page-control-border: hsl(var(--border, 214.3 31.8% 91.4%));
13
+ --login-page-control-text: var(--login-page-text-color);
14
+ --login-page-control-placeholder: var(--login-page-muted-color);
15
+ --login-page-control-focus: color-mix(in srgb, var(--login-page-primary-color) 26%, transparent);
16
+ --login-page-callout-warning-bg: rgb(254 252 232 / 86%);
17
+ --login-page-callout-warning-border: rgb(250 204 21 / 46%);
18
+ --login-page-callout-warning-text: rgb(113 63 18);
19
+ --login-page-callout-success-bg: rgb(240 253 244 / 86%);
20
+ --login-page-callout-success-border: rgb(34 197 94 / 34%);
21
+ --login-page-callout-success-text: rgb(22 101 52);
22
+ --login-page-callout-danger-bg: rgb(254 242 242 / 88%);
23
+ --login-page-callout-danger-border: rgb(248 113 113 / 40%);
24
+ --login-page-callout-danger-text: rgb(153 27 27);
25
+ --login-page-background-gradient: radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--login-page-primary-color) 22%, transparent), transparent 32%),
26
+ linear-gradient(135deg, color-mix(in srgb, var(--login-page-primary-color) 18%, var(--login-page-background-base)) 0%, var(--login-page-background-base) 58%);
27
+ --login-page-logo-size: 48px;
28
+ --login-page-form-width: 500px;
29
+ --login-page-form-padding: 72px;
30
+ --login-page-form-min-height: 720px;
31
+
32
+ position: relative;
33
+ display: flex;
34
+ min-height: 100vh;
35
+ width: 100vw;
36
+ align-items: center;
37
+ justify-content: flex-end;
38
+ overflow: hidden;
39
+ padding: clamp(24px, 5vw, 72px);
40
+ color: var(--login-page-text-color);
41
+ background: var(--login-page-background-gradient);
42
+ box-sizing: border-box;
43
+ }
44
+
45
+ .dark .login-page {
46
+ --login-page-background-base: #000000;
47
+ --login-page-text-color: hsl(var(--foreground, 210 40% 98%));
48
+ --login-page-muted-color: hsl(var(--muted-foreground, 215 20.2% 65.1%));
49
+ --login-page-panel-bg: color-mix(in srgb, hsl(var(--background, 222.2 84% 4.9%)) 88%, transparent);
50
+ --login-page-panel-border: color-mix(in srgb, var(--login-page-primary-color) 30%, transparent);
51
+ --login-page-panel-shadow: 0 24px 80px rgb(0 0 0 / 36%);
52
+ --login-page-control-bg: hsl(var(--background, 222.2 84% 4.9%));
53
+ --login-page-control-border: hsl(var(--border, 217.2 32.6% 17.5%));
54
+ --login-page-callout-warning-bg: rgb(113 63 18 / 28%);
55
+ --login-page-callout-warning-border: rgb(250 204 21 / 34%);
56
+ --login-page-callout-warning-text: rgb(254 240 138);
57
+ --login-page-callout-success-bg: rgb(22 101 52 / 28%);
58
+ --login-page-callout-success-border: rgb(34 197 94 / 32%);
59
+ --login-page-callout-success-text: rgb(187 247 208);
60
+ --login-page-callout-danger-bg: rgb(127 29 29 / 30%);
61
+ --login-page-callout-danger-border: rgb(248 113 113 / 34%);
62
+ --login-page-callout-danger-text: rgb(254 202 202);
63
+ }
64
+
65
+ .login-page *,
66
+ .login-page *::before,
67
+ .login-page *::after {
68
+ box-sizing: border-box;
69
+ }
70
+
71
+ .login-page__background {
72
+ position: absolute;
73
+ inset: 0;
74
+ z-index: 0;
75
+ background: var(--login-page-background-gradient);
76
+ background-position: center;
77
+ background-size: cover;
78
+ }
79
+
80
+ .login-page__background::after {
81
+ position: absolute;
82
+ inset: 0;
83
+ content: '';
84
+ background: var(--login-page-background-overlay, transparent);
85
+ }
86
+
87
+ .login-page__toolbar {
88
+ position: absolute;
89
+ top: clamp(20px, 4vw, 48px);
90
+ right: clamp(20px, 4vw, 48px);
91
+ z-index: 2;
92
+ display: inline-flex;
93
+ align-items: center;
94
+ gap: 8px;
95
+ }
96
+
97
+ .login-page__logo {
98
+ position: absolute;
99
+ left: clamp(20px, 4vw, 48px);
100
+ z-index: 1;
101
+ display: flex;
102
+ align-items: center;
103
+ }
104
+
105
+ .login-page__logo--top {
106
+ top: clamp(20px, 4vw, 48px);
107
+ }
108
+
109
+ .login-page__logo--middle {
110
+ top: 50%;
111
+ transform: translateY(-50%);
112
+ }
113
+
114
+ .login-page__logo--bottom {
115
+ bottom: clamp(20px, 4vw, 48px);
116
+ }
117
+
118
+ .login-page__logo-image {
119
+ display: block;
120
+ height: var(--login-page-logo-size);
121
+ width: auto;
122
+ max-width: min(320px, 42vw);
123
+ object-fit: contain;
124
+ transform-origin: left center;
125
+ }
126
+
127
+ .login-page__logo-image--dark {
128
+ display: none;
129
+ }
130
+
131
+ .dark .login-page__logo-image--light {
132
+ display: none;
133
+ }
134
+
135
+ .dark .login-page__logo-image--dark {
136
+ display: block;
137
+ }
138
+
139
+ .login-page__form {
140
+ position: relative;
141
+ z-index: 1;
142
+ width: min(var(--login-page-form-width), 100%);
143
+ min-height: min(var(--login-page-form-min-height), calc(100vh - 48px));
144
+ padding: var(--login-page-form-padding);
145
+ overflow: hidden;
146
+ color: var(--login-page-text-color);
147
+ background: var(--login-page-panel-bg);
148
+ border: 1px solid var(--login-page-panel-border);
149
+ border-radius: var(--login-page-radius);
150
+ box-shadow: var(--login-page-panel-shadow);
151
+ backdrop-filter: blur(16px);
152
+ }
153
+
154
+ .login-page__back {
155
+ position: absolute;
156
+ top: 20px;
157
+ right: 20px;
158
+ display: inline-flex;
159
+ align-items: center;
160
+ gap: 8px;
161
+ min-height: 36px;
162
+ padding: 0 14px;
163
+ color: var(--login-page-text-color);
164
+ background: color-mix(in srgb, var(--login-page-control-bg) 86%, transparent);
165
+ border: 1px solid var(--login-page-control-border);
166
+ border-radius: var(--login-page-radius);
167
+ cursor: pointer;
168
+ }
169
+
170
+ .login-page__back:hover {
171
+ border-color: var(--login-page-primary-color);
172
+ }
173
+
174
+ .login-page__back-icon,
175
+ .login-page__tab-icon,
176
+ .login-page__oauth-icon {
177
+ display: inline-flex;
178
+ width: 18px;
179
+ height: 18px;
180
+ align-items: center;
181
+ justify-content: center;
182
+ flex: none;
183
+ }
184
+
185
+ .login-page__back-icon svg,
186
+ .login-page__tab-icon svg,
187
+ .login-page__oauth-icon svg {
188
+ width: 100%;
189
+ height: 100%;
190
+ }
191
+
192
+ .login-page__title {
193
+ margin: 64px 0 28px;
194
+ color: var(--login-page-title-color, var(--login-page-text-color));
195
+ font-size: 28px;
196
+ font-weight: 700;
197
+ line-height: 1.2;
198
+ }
199
+
200
+ .login-page__tabs {
201
+ display: flex;
202
+ gap: 0;
203
+ margin-bottom: 28px;
204
+ overflow-x: auto;
205
+ overflow-y: hidden;
206
+ border: 1px solid var(--login-page-control-border);
207
+ border-radius: var(--login-page-radius);
208
+ background: color-mix(in srgb, var(--login-page-control-bg) 76%, transparent);
209
+ scrollbar-width: none;
210
+ }
211
+
212
+ .login-page__tabs::-webkit-scrollbar {
213
+ display: none;
214
+ }
215
+
216
+ .login-page__tab {
217
+ display: inline-flex;
218
+ flex: 1 0 auto;
219
+ min-width: max-content;
220
+ align-items: center;
221
+ justify-content: center;
222
+ gap: 6px;
223
+ min-height: 44px;
224
+ padding: 0 10px;
225
+ color: var(--login-page-muted-color);
226
+ background: transparent;
227
+ border: 0;
228
+ cursor: pointer;
229
+ font: inherit;
230
+ font-size: 14px;
231
+ line-height: 1.2;
232
+ white-space: nowrap;
233
+ }
234
+
235
+ .login-page .login-page__tab > *,
236
+ .login-page .login-page__tab svg {
237
+ color: inherit;
238
+ }
239
+
240
+ .login-page__tab-label {
241
+ display: inline-block;
242
+ white-space: nowrap;
243
+ }
244
+
245
+ .login-page__tab--active {
246
+ color: var(--login-page-primary-foreground);
247
+ background: var(--login-page-primary-color);
248
+ }
249
+
250
+ .login-page__form-fields {
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: 18px;
254
+ }
255
+
256
+ .login-page__input {
257
+ display: block;
258
+ width: 100%;
259
+ min-height: 48px;
260
+ padding: 0 16px;
261
+ color: var(--login-page-control-text);
262
+ background: var(--login-page-control-bg);
263
+ border: 1px solid var(--login-page-control-border);
264
+ border-radius: var(--login-page-radius);
265
+ outline: none;
266
+ font: inherit;
267
+ }
268
+
269
+ .login-page__input::placeholder {
270
+ color: var(--login-page-control-placeholder);
271
+ }
272
+
273
+ .login-page__input:focus {
274
+ border-color: var(--login-page-primary-color);
275
+ box-shadow: 0 0 0 3px var(--login-page-control-focus);
276
+ }
277
+
278
+ .login-page__remember {
279
+ display: inline-flex;
280
+ width: fit-content;
281
+ align-items: center;
282
+ gap: 8px;
283
+ color: var(--login-page-muted-color);
284
+ font-size: 14px;
285
+ }
286
+
287
+ .login-page__checkbox {
288
+ width: 16px;
289
+ height: 16px;
290
+ accent-color: var(--login-page-primary-color);
291
+ }
292
+
293
+ .login-page__method-footer {
294
+ display: flex;
295
+ min-height: 32px;
296
+ align-items: center;
297
+ justify-content: flex-end;
298
+ color: var(--login-page-muted-color);
299
+ font-size: 14px;
300
+ }
301
+
302
+ .login-page__submit,
303
+ .login-page__oauth-button,
304
+ .login-page__callout-action,
305
+ .login-page__method-footer-action {
306
+ display: inline-flex;
307
+ min-height: 46px;
308
+ align-items: center;
309
+ justify-content: center;
310
+ gap: 8px;
311
+ padding: 0 18px;
312
+ border-radius: var(--login-page-radius);
313
+ cursor: pointer;
314
+ font: inherit;
315
+ font-weight: 600;
316
+ }
317
+
318
+ .login-page__submit {
319
+ width: 100%;
320
+ color: var(--login-page-primary-foreground);
321
+ background: var(--login-page-primary-color);
322
+ border: 1px solid transparent;
323
+ }
324
+
325
+ .login-page__submit:hover:not(:disabled),
326
+ .login-page__oauth-button:hover:not(:disabled),
327
+ .login-page__callout-action:hover:not(:disabled),
328
+ .login-page__method-footer-action:hover:not(:disabled) {
329
+ transform: translateY(-1px);
330
+ }
331
+
332
+ .login-page__submit:disabled,
333
+ .login-page__oauth-button:disabled,
334
+ .login-page__callout-action:disabled,
335
+ .login-page__method-footer-action:disabled,
336
+ .login-page__input:disabled {
337
+ cursor: not-allowed;
338
+ opacity: 0.62;
339
+ }
340
+
341
+ .login-page__method-footer-action {
342
+ min-height: 32px;
343
+ padding: 0;
344
+ color: var(--login-page-primary-color);
345
+ background: transparent;
346
+ border: 0;
347
+ }
348
+
349
+ .login-page__callout {
350
+ margin-top: 18px;
351
+ padding: 14px;
352
+ color: var(--login-page-callout-text, var(--login-page-text-color));
353
+ background: var(--login-page-callout-bg, color-mix(in srgb, var(--login-page-primary-color) 10%, transparent));
354
+ border: 1px solid var(--login-page-callout-border, color-mix(in srgb, var(--login-page-primary-color) 28%, transparent));
355
+ border-radius: var(--login-page-radius);
356
+ }
357
+
358
+ .login-page__callout--warning {
359
+ --login-page-callout-bg: var(--login-page-callout-warning-bg);
360
+ --login-page-callout-border: var(--login-page-callout-warning-border);
361
+ --login-page-callout-text: var(--login-page-callout-warning-text);
362
+ }
363
+
364
+ .login-page__callout--success {
365
+ --login-page-callout-bg: var(--login-page-callout-success-bg);
366
+ --login-page-callout-border: var(--login-page-callout-success-border);
367
+ --login-page-callout-text: var(--login-page-callout-success-text);
368
+ }
369
+
370
+ .login-page__callout--danger {
371
+ --login-page-callout-bg: var(--login-page-callout-danger-bg);
372
+ --login-page-callout-border: var(--login-page-callout-danger-border);
373
+ --login-page-callout-text: var(--login-page-callout-danger-text);
374
+ }
375
+
376
+ .login-page__callout-title {
377
+ font-weight: 700;
378
+ }
379
+
380
+ .login-page__callout-description,
381
+ .login-page__callout-detail {
382
+ margin: 6px 0 0;
383
+ color: color-mix(in srgb, currentColor 76%, transparent);
384
+ font-size: 14px;
385
+ line-height: 1.5;
386
+ }
387
+
388
+ .login-page__callout-action {
389
+ min-height: 36px;
390
+ margin-top: 12px;
391
+ color: var(--login-page-text-color);
392
+ background: var(--login-page-control-bg);
393
+ border: 1px solid var(--login-page-control-border);
394
+ }
395
+
396
+ .login-page__external-panel {
397
+ display: flex;
398
+ flex-direction: column;
399
+ align-items: center;
400
+ gap: 14px;
401
+ }
402
+
403
+ .login-page__external-panel-title {
404
+ width: 100%;
405
+ color: var(--login-page-text-color);
406
+ font-size: 18px;
407
+ font-weight: 700;
408
+ line-height: 1.3;
409
+ text-align: center;
410
+ }
411
+
412
+ .login-page__external-panel-description {
413
+ margin: 0;
414
+ color: var(--login-page-muted-color);
415
+ font-size: 14px;
416
+ line-height: 1.5;
417
+ text-align: center;
418
+ }
419
+
420
+ .login-page__external-panel-content {
421
+ display: flex;
422
+ width: 100%;
423
+ min-height: 220px;
424
+ align-items: center;
425
+ justify-content: center;
426
+ }
427
+
428
+ .login-page__external-panel-footer {
429
+ display: flex;
430
+ width: 100%;
431
+ flex-direction: column;
432
+ align-items: center;
433
+ gap: 10px;
434
+ color: var(--login-page-muted-color);
435
+ font-size: 13px;
436
+ line-height: 1.5;
437
+ text-align: center;
438
+ }
439
+
440
+ .login-page__external-panel-back {
441
+ display: inline-flex;
442
+ min-height: 36px;
443
+ align-items: center;
444
+ justify-content: center;
445
+ padding: 0 14px;
446
+ color: var(--login-page-primary-color);
447
+ background: transparent;
448
+ border: 0;
449
+ cursor: pointer;
450
+ font: inherit;
451
+ font-weight: 600;
452
+ }
453
+
454
+ .login-page__oauth-section {
455
+ display: flex;
456
+ flex-direction: column;
457
+ align-items: center;
458
+ gap: 8px;
459
+ margin-top: 20px;
460
+ }
461
+
462
+ .login-page__oauth-label {
463
+ color: var(--login-page-muted-color);
464
+ font-size: 14px;
465
+ }
466
+
467
+ .login-page__oauth-list {
468
+ display: flex;
469
+ width: 100%;
470
+ flex-wrap: wrap;
471
+ justify-content: center;
472
+ gap: 6px;
473
+ }
474
+
475
+ .login-page__oauth-button {
476
+ min-width: min(96px, 100%);
477
+ min-height: 38px;
478
+ gap: 6px;
479
+ padding: 0 10px;
480
+ color: var(--login-page-text-color);
481
+ background: color-mix(in srgb, var(--login-page-control-bg) 78%, transparent);
482
+ border: 1px solid var(--login-page-control-border);
483
+ font-size: 13px;
484
+ line-height: 1.2;
485
+ white-space: nowrap;
486
+ }
487
+
488
+ .login-page__oauth-button .login-page__oauth-icon {
489
+ width: 16px;
490
+ height: 16px;
491
+ }
492
+
493
+ @media (max-width: 768px) {
494
+ .login-page {
495
+ justify-content: center;
496
+ padding: 20px;
497
+ }
498
+
499
+ .login-page__form {
500
+ width: 100%;
501
+ min-height: auto;
502
+ padding: 56px 20px 24px;
503
+ }
504
+
505
+ .login-page__title {
506
+ margin-top: 40px;
507
+ font-size: 24px;
508
+ }
509
+
510
+ .login-page__logo {
511
+ left: 20px;
512
+ }
513
+
514
+ .login-page__toolbar {
515
+ top: 20px;
516
+ right: 20px;
517
+ }
518
+ }