@pablozaiden/webapp 0.2.3 → 0.3.1

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.
@@ -1,6 +1,7 @@
1
1
  :root {
2
2
  color-scheme: light;
3
- --wapp-bg: #f3f4f6;
3
+ --wapp-bg: var(--wapp-shell-bg);
4
+ --wapp-shell-bg: rgb(249 250 251 / 0.95);
4
5
  --wapp-surface: #ffffff;
5
6
  --wapp-surface-muted: #f9fafb;
6
7
  --wapp-border: #d1d5db;
@@ -12,12 +13,13 @@
12
13
  --wapp-danger-bg: #991b1b;
13
14
  --wapp-primary: #111827;
14
15
  --wapp-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
15
- font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
16
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
16
17
  }
17
18
 
18
19
  :root.dark {
19
20
  color-scheme: dark;
20
- --wapp-bg: #171717;
21
+ --wapp-bg: var(--wapp-shell-bg);
22
+ --wapp-shell-bg: rgb(23 23 23 / 0.95);
21
23
  --wapp-surface: #262626;
22
24
  --wapp-surface-muted: #171717;
23
25
  --wapp-border: #374151;
@@ -48,11 +50,13 @@ body {
48
50
  overflow: hidden;
49
51
  }
50
52
 
51
- button,
52
- input,
53
- select,
54
- textarea {
55
- font: inherit;
53
+ @layer base {
54
+ button,
55
+ input,
56
+ select,
57
+ textarea {
58
+ font: inherit;
59
+ }
56
60
  }
57
61
 
58
62
  input::placeholder,
@@ -89,15 +93,21 @@ textarea::placeholder {
89
93
  .wapp-sidebar {
90
94
  width: 20rem;
91
95
  min-width: 20rem;
96
+ min-height: 0;
92
97
  height: 100vh;
93
98
  display: flex;
94
99
  flex-direction: column;
100
+ overflow: hidden;
95
101
  border-right: 1px solid var(--wapp-border-soft);
96
- background: color-mix(in srgb, var(--wapp-bg), var(--wapp-surface) 25%);
102
+ background: var(--wapp-shell-bg);
97
103
  backdrop-filter: blur(8px);
98
104
  transition: width 180ms ease, min-width 180ms ease, transform 180ms ease, opacity 180ms ease;
99
105
  }
100
106
 
107
+ :root.dark .wapp-sidebar {
108
+ background: var(--wapp-shell-bg);
109
+ }
110
+
101
111
  .wapp-shell.sidebar-collapsed .wapp-sidebar {
102
112
  width: 0;
103
113
  min-width: 0;
@@ -117,6 +127,11 @@ textarea::placeholder {
117
127
  background: var(--wapp-surface);
118
128
  }
119
129
 
130
+ :root.dark .wapp-sidebar-header,
131
+ :root.dark .wapp-main-header {
132
+ border-bottom-color: var(--wapp-border);
133
+ }
134
+
120
135
  .wapp-sidebar-header {
121
136
  justify-content: space-between;
122
137
  padding: 0.5rem 1rem;
@@ -129,16 +144,22 @@ textarea::placeholder {
129
144
 
130
145
  .wapp-main-header-title {
131
146
  display: flex;
147
+ flex: 1 1 auto;
132
148
  min-width: 0;
133
149
  align-items: center;
134
150
  gap: 0.75rem;
151
+ overflow: hidden;
135
152
  }
136
153
 
137
154
  .wapp-main-header-actions {
138
155
  display: flex;
139
156
  flex: 0 0 auto;
157
+ min-width: max-content;
158
+ max-width: none;
140
159
  align-items: center;
160
+ justify-content: flex-end;
141
161
  gap: 0.5rem;
162
+ overflow: visible;
142
163
  }
143
164
 
144
165
  .wapp-brand {
@@ -166,8 +187,10 @@ textarea::placeholder {
166
187
 
167
188
  .wapp-icon-button {
168
189
  display: inline-flex;
190
+ flex: 0 0 2.5rem;
169
191
  align-items: center;
170
192
  justify-content: center;
193
+ min-width: 2.5rem;
171
194
  width: 2.5rem;
172
195
  height: 2.5rem;
173
196
  border: 1px solid var(--wapp-border-soft);
@@ -190,14 +213,31 @@ textarea::placeholder {
190
213
  }
191
214
 
192
215
  .wapp-sidebar-top-button {
216
+ flex: 0 0 2.5rem;
217
+ min-width: 2.5rem;
218
+ width: 2.5rem;
219
+ height: 2.5rem;
220
+ border-color: var(--wapp-border-soft);
221
+ background: #ffffff;
222
+ color: var(--wapp-muted);
223
+ }
224
+
225
+ .wapp-sidebar-top-button:hover,
226
+ .wapp-sidebar-top-button.active {
227
+ border-color: var(--wapp-border);
228
+ background: #ffffff;
229
+ color: var(--wapp-text);
230
+ }
231
+
232
+ :root.dark .wapp-sidebar-top-button {
193
233
  border-color: #262626;
194
234
  background: #171717;
195
235
  color: #e5e7eb;
196
236
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.24);
197
237
  }
198
238
 
199
- .wapp-sidebar-top-button:hover,
200
- .wapp-sidebar-top-button.active {
239
+ :root.dark .wapp-sidebar-top-button:hover,
240
+ :root.dark .wapp-sidebar-top-button.active {
201
241
  border-color: #404040;
202
242
  background: #171717;
203
243
  color: #ffffff;
@@ -216,6 +256,7 @@ textarea::placeholder {
216
256
  .wapp-sidebar-scroll {
217
257
  flex: 1;
218
258
  overflow-y: auto;
259
+ overflow-x: hidden;
219
260
  padding: 1rem 0.75rem;
220
261
  }
221
262
 
@@ -238,19 +279,29 @@ textarea::placeholder {
238
279
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--wapp-muted), transparent 70%);
239
280
  }
240
281
 
241
- .wapp-sidebar-section {
282
+ .wapp-sidebar-section.top {
242
283
  margin-bottom: 1.5rem;
243
284
  }
244
285
 
286
+ .wapp-sidebar-section.nested {
287
+ margin-bottom: 0.25rem;
288
+ }
289
+
245
290
  .wapp-sidebar-section-title {
246
291
  display: flex;
247
292
  align-items: center;
248
293
  justify-content: space-between;
294
+ min-width: 0;
249
295
  gap: 0.5rem;
250
296
  margin-bottom: 0.5rem;
251
297
  }
252
298
 
253
- .wapp-sidebar-section-title button:first-child {
299
+ .wapp-sidebar-section.nested .wapp-sidebar-section-title {
300
+ margin-bottom: 0.25rem;
301
+ }
302
+
303
+ .wapp-sidebar-section-title button:first-child,
304
+ .wapp-sidebar-section-label {
254
305
  display: inline-flex;
255
306
  align-items: center;
256
307
  gap: 0.5rem;
@@ -266,7 +317,38 @@ textarea::placeholder {
266
317
  text-align: left;
267
318
  }
268
319
 
320
+ .wapp-sidebar-section-title button:first-child {
321
+ flex: 1;
322
+ min-width: 0;
323
+ overflow: hidden;
324
+ text-overflow: ellipsis;
325
+ white-space: nowrap;
326
+ border-radius: 0.5rem;
327
+ margin-left: -0.5rem;
328
+ padding: 0.25rem 0.5rem;
329
+ transition: background 120ms ease, color 120ms ease;
330
+ }
331
+
332
+ .wapp-sidebar-section-title button:first-child:hover {
333
+ background: #f3f4f6;
334
+ color: var(--wapp-text);
335
+ }
336
+
337
+ :root.dark .wapp-sidebar-section-title button:first-child:hover {
338
+ background: rgb(38 38 38 / 0.8);
339
+ }
340
+
341
+ .wapp-sidebar-section-label {
342
+ cursor: default;
343
+ }
344
+
345
+ .wapp-sidebar-section.nested .wapp-sidebar-section-title button:first-child,
346
+ .wapp-sidebar-section.nested .wapp-sidebar-section-label {
347
+ font-size: 0.6875rem;
348
+ }
349
+
269
350
  .wapp-sidebar-action {
351
+ flex: 0 0 auto;
270
352
  border: 0;
271
353
  background: transparent;
272
354
  color: var(--wapp-muted);
@@ -293,6 +375,8 @@ textarea::placeholder {
293
375
 
294
376
  .wapp-sidebar-item-wrap {
295
377
  margin: 0.25rem 0;
378
+ max-width: 100%;
379
+ min-width: 0;
296
380
  }
297
381
 
298
382
  .wapp-sidebar-item-wrap.has-toggle {
@@ -305,26 +389,30 @@ textarea::placeholder {
305
389
  .wapp-sidebar-item-wrap.has-toggle > .wapp-sidebar-item {
306
390
  width: auto;
307
391
  flex: 1;
392
+ min-width: 0;
308
393
  }
309
394
 
310
395
  .wapp-sidebar-children {
311
396
  flex-basis: 100%;
312
- padding-left: 0.5rem;
397
+ min-width: 0;
398
+ padding-left: 0.375rem;
313
399
  }
314
400
 
315
401
  .wapp-sidebar-item {
316
402
  width: 100%;
317
- min-height: 2.375rem;
403
+ min-width: 0;
404
+ max-width: 100%;
405
+ min-height: 2.5rem;
318
406
  display: flex;
319
407
  align-items: center;
320
408
  justify-content: space-between;
321
- gap: 0.75rem;
409
+ gap: 0.625rem;
322
410
  border: 1px solid transparent;
323
411
  border-radius: 0.75rem;
324
412
  background: transparent;
325
413
  color: var(--wapp-text);
326
414
  cursor: pointer;
327
- padding: 0.4375rem 0.75rem 0.4375rem 0.25rem;
415
+ padding: 0.5rem 0.75rem 0.5rem 0.25rem;
328
416
  text-align: left;
329
417
  }
330
418
 
@@ -351,18 +439,33 @@ textarea::placeholder {
351
439
  color: #030712;
352
440
  }
353
441
 
442
+ .wapp-sidebar-item > span:first-child {
443
+ min-width: 0;
444
+ flex: 1 1 auto;
445
+ overflow: hidden;
446
+ }
447
+
354
448
  .wapp-sidebar-item strong {
355
449
  display: block;
450
+ min-width: 0;
451
+ overflow: hidden;
452
+ text-overflow: ellipsis;
453
+ white-space: normal;
356
454
  font-size: 0.875rem;
357
455
  font-weight: 500;
358
- line-height: 1.2;
456
+ line-height: 1.25rem;
359
457
  }
360
458
 
361
459
  .wapp-sidebar-item small {
362
460
  display: block;
461
+ min-width: 0;
462
+ overflow: hidden;
463
+ text-overflow: ellipsis;
464
+ white-space: nowrap;
363
465
  color: var(--wapp-muted);
364
466
  font-size: 0.75rem;
365
467
  margin-top: 0.125rem;
468
+ line-height: 1rem;
366
469
  }
367
470
 
368
471
  :root.dark .wapp-sidebar-item.active small {
@@ -375,9 +478,9 @@ textarea::placeholder {
375
478
  color: var(--wapp-muted);
376
479
  cursor: pointer;
377
480
  flex: 0 0 auto;
378
- height: 2.375rem;
481
+ height: 2rem;
379
482
  width: 0.875rem;
380
- margin: 0.1875rem 0 0 0;
483
+ margin: 0.25rem 0 0 0;
381
484
  border-radius: 0.5rem;
382
485
  font-size: 0.6875rem;
383
486
  line-height: 1;
@@ -397,8 +500,8 @@ textarea::placeholder {
397
500
  display: flex;
398
501
  align-items: center;
399
502
  justify-content: space-between;
400
- min-height: 3rem;
401
- padding: 0 1rem 1rem;
503
+ min-height: 2rem;
504
+ padding: 0.25rem 0.25rem 0;
402
505
  color: var(--wapp-muted-2);
403
506
  font-size: 0.75rem;
404
507
  }
@@ -430,16 +533,29 @@ textarea::placeholder {
430
533
  }
431
534
 
432
535
  .wapp-main-header h1 {
536
+ min-width: 0;
537
+ overflow: hidden;
538
+ text-overflow: ellipsis;
539
+ white-space: nowrap;
433
540
  margin: 0;
434
541
  font-size: 1rem;
435
542
  font-weight: 700;
436
- text-transform: capitalize;
543
+ text-transform: none;
437
544
  }
438
545
 
439
546
  .wapp-main-content {
547
+ display: flex;
548
+ flex-direction: column;
440
549
  flex: 1;
441
550
  min-height: 0;
442
551
  overflow: auto;
552
+ overflow-x: hidden;
553
+ padding: 0;
554
+ }
555
+
556
+ .wapp-page {
557
+ width: 100%;
558
+ min-width: 0;
443
559
  padding: 1.5rem 2rem 2rem;
444
560
  }
445
561
 
@@ -716,6 +832,10 @@ textarea::placeholder {
716
832
  }
717
833
 
718
834
  .wapp-button {
835
+ display: inline-flex;
836
+ align-items: center;
837
+ justify-content: center;
838
+ gap: 0.5rem;
719
839
  min-height: 2.375rem;
720
840
  border: 1px solid var(--wapp-border);
721
841
  border-radius: 0.5rem;
@@ -729,6 +849,21 @@ textarea::placeholder {
729
849
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease;
730
850
  }
731
851
 
852
+ .wapp-button-spinner {
853
+ width: 1rem;
854
+ height: 1rem;
855
+ border: 2px solid currentColor;
856
+ border-top-color: transparent;
857
+ border-radius: 999px;
858
+ animation: wapp-spin 0.7s linear infinite;
859
+ }
860
+
861
+ @keyframes wapp-spin {
862
+ to {
863
+ transform: rotate(360deg);
864
+ }
865
+ }
866
+
732
867
  .wapp-button:hover:not(:disabled) {
733
868
  border-color: var(--wapp-muted);
734
869
  background: color-mix(in srgb, var(--wapp-surface), var(--wapp-muted) 12%);
@@ -778,6 +913,19 @@ textarea::placeholder {
778
913
  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
779
914
  }
780
915
 
916
+ .wapp-action-menu-trigger-ghost {
917
+ border-color: transparent;
918
+ background: transparent;
919
+ color: var(--wapp-fg);
920
+ box-shadow: none;
921
+ }
922
+
923
+ .wapp-action-menu-trigger-compact {
924
+ min-width: 2rem;
925
+ min-height: 2rem;
926
+ border-radius: 0.5rem;
927
+ }
928
+
781
929
  .wapp-action-menu-trigger:hover:not(:disabled),
782
930
  .wapp-action-menu-trigger[aria-expanded="true"] {
783
931
  border-color: var(--wapp-primary);
@@ -839,6 +987,10 @@ textarea::placeholder {
839
987
  color: var(--wapp-danger);
840
988
  }
841
989
 
990
+ :root.dark .wapp-action-menu-item.danger {
991
+ color: var(--wapp-danger);
992
+ }
993
+
842
994
  .wapp-action-menu-item.danger:hover:not(:disabled) {
843
995
  background: color-mix(in srgb, var(--wapp-danger-bg), transparent 88%);
844
996
  }
@@ -865,14 +1017,112 @@ textarea::placeholder {
865
1017
  padding: 0.125rem 0.5rem;
866
1018
  }
867
1019
 
868
- .wapp-badge-success { color: #047857; }
869
- .wapp-badge-warning { color: #b45309; }
870
- .wapp-badge-error { color: var(--wapp-danger); }
871
- .wapp-badge-info { color: #2563eb; }
872
- .wapp-badge-disabled { color: var(--wapp-muted-2); }
1020
+ .wapp-sidebar-badge {
1021
+ flex: 0 0 auto;
1022
+ width: 0.625rem;
1023
+ height: 0.625rem;
1024
+ overflow: hidden;
1025
+ padding: 0;
1026
+ color: transparent;
1027
+ font-size: 0;
1028
+ line-height: 0;
1029
+ }
1030
+
1031
+ .wapp-badge-success,
1032
+ .wapp-badge-completed {
1033
+ background: rgb(220 252 231);
1034
+ color: rgb(22 101 52);
1035
+ }
1036
+ .wapp-badge-warning,
1037
+ .wapp-badge-plan_ready {
1038
+ background: rgb(254 243 199);
1039
+ color: rgb(146 64 14);
1040
+ }
1041
+ .wapp-badge-error,
1042
+ .wapp-badge-failed {
1043
+ background: rgb(254 226 226);
1044
+ color: rgb(153 27 27);
1045
+ }
1046
+ .wapp-badge-info,
1047
+ .wapp-badge-running {
1048
+ background: rgb(219 234 254);
1049
+ color: rgb(30 64 175);
1050
+ }
1051
+ .wapp-badge-disabled,
1052
+ .wapp-badge-stopped,
1053
+ .wapp-badge-idle {
1054
+ background: rgb(243 244 246);
1055
+ color: rgb(31 41 55);
1056
+ }
1057
+ .wapp-badge-planning {
1058
+ background: rgb(207 250 254);
1059
+ color: rgb(21 94 117);
1060
+ }
1061
+ .wapp-badge-merged {
1062
+ background: rgb(243 232 255);
1063
+ color: rgb(107 33 168);
1064
+ }
1065
+ .wapp-badge-pushed {
1066
+ background: rgb(224 231 255);
1067
+ color: rgb(55 48 163);
1068
+ }
1069
+ .wapp-badge-deleted {
1070
+ background: rgb(243 244 246);
1071
+ color: rgb(107 114 128);
1072
+ }
1073
+
1074
+ :root.dark .wapp-badge-success,
1075
+ :root.dark .wapp-badge-completed {
1076
+ background: rgb(20 83 45);
1077
+ color: rgb(134 239 172);
1078
+ }
1079
+ :root.dark .wapp-badge-warning,
1080
+ :root.dark .wapp-badge-plan_ready {
1081
+ background: rgb(120 53 15);
1082
+ color: rgb(252 211 77);
1083
+ }
1084
+ :root.dark .wapp-badge-error,
1085
+ :root.dark .wapp-badge-failed {
1086
+ background: rgb(127 29 29);
1087
+ color: rgb(252 165 165);
1088
+ }
1089
+ :root.dark .wapp-badge-info,
1090
+ :root.dark .wapp-badge-running,
1091
+ :root.dark .wapp-badge-planning,
1092
+ :root.dark .wapp-badge-merged,
1093
+ :root.dark .wapp-badge-pushed,
1094
+ :root.dark .wapp-badge-deleted {
1095
+ background: rgb(38 38 38);
1096
+ }
1097
+ :root.dark .wapp-badge-info,
1098
+ :root.dark .wapp-badge-running {
1099
+ color: rgb(147 197 253);
1100
+ }
1101
+ :root.dark .wapp-badge-planning {
1102
+ color: rgb(103 232 249);
1103
+ }
1104
+ :root.dark .wapp-badge-merged {
1105
+ color: rgb(216 180 254);
1106
+ }
1107
+ :root.dark .wapp-badge-pushed {
1108
+ color: rgb(165 180 252);
1109
+ }
1110
+ :root.dark .wapp-badge-deleted {
1111
+ color: rgb(107 114 128);
1112
+ }
1113
+ :root.dark .wapp-badge-disabled,
1114
+ :root.dark .wapp-badge-stopped,
1115
+ :root.dark .wapp-badge-idle {
1116
+ background: rgb(64 64 64);
1117
+ color: rgb(209 213 219);
1118
+ }
873
1119
 
874
1120
  .wapp-settings {
1121
+ height: 100%;
1122
+ overflow: auto;
875
1123
  max-width: none;
1124
+ background: var(--wapp-shell-bg);
1125
+ padding: 1.5rem 2rem 2rem;
876
1126
  font-size: 0.875rem;
877
1127
  }
878
1128
 
@@ -882,6 +1132,10 @@ textarea::placeholder {
882
1132
  margin-bottom: 2.5rem;
883
1133
  }
884
1134
 
1135
+ .wapp-custom-settings-section {
1136
+ margin-bottom: 2.5rem;
1137
+ }
1138
+
885
1139
  .wapp-form-section + .wapp-form-section {
886
1140
  border-top: 0;
887
1141
  }
@@ -1319,6 +1573,161 @@ textarea::placeholder {
1319
1573
  padding: 1rem 1.5rem;
1320
1574
  }
1321
1575
 
1576
+ .wapp-modal-layer {
1577
+ position: fixed;
1578
+ inset: 0;
1579
+ z-index: 80;
1580
+ display: flex;
1581
+ align-items: center;
1582
+ justify-content: center;
1583
+ min-width: 0;
1584
+ overflow-x: hidden;
1585
+ overflow-y: auto;
1586
+ padding: 0.5rem;
1587
+ }
1588
+
1589
+ .wapp-modal-overlay {
1590
+ position: absolute;
1591
+ inset: 0;
1592
+ background: rgb(0 0 0 / 0.5);
1593
+ backdrop-filter: blur(4px);
1594
+ }
1595
+
1596
+ .wapp-modal {
1597
+ position: relative;
1598
+ display: flex;
1599
+ flex-direction: column;
1600
+ width: 100%;
1601
+ min-width: 0;
1602
+ max-height: calc(100dvh - 1.5rem);
1603
+ overflow: hidden;
1604
+ border: 1px solid var(--wapp-border);
1605
+ border-radius: 0.5rem;
1606
+ background: var(--wapp-surface);
1607
+ box-shadow: 0 24px 55px rgb(0 0 0 / 0.38);
1608
+ outline: none;
1609
+ }
1610
+
1611
+ .wapp-modal-sm {
1612
+ max-width: 24rem;
1613
+ }
1614
+
1615
+ .wapp-modal-md {
1616
+ max-width: 28rem;
1617
+ }
1618
+
1619
+ .wapp-modal-lg {
1620
+ max-width: 32rem;
1621
+ }
1622
+
1623
+ .wapp-modal-xl {
1624
+ max-width: 36rem;
1625
+ }
1626
+
1627
+ .wapp-modal-header {
1628
+ display: flex;
1629
+ flex-shrink: 0;
1630
+ align-items: flex-start;
1631
+ justify-content: space-between;
1632
+ gap: 1rem;
1633
+ border-bottom: 1px solid var(--wapp-border);
1634
+ padding: 0.75rem 1rem;
1635
+ }
1636
+
1637
+ .wapp-modal-title-block {
1638
+ min-width: 0;
1639
+ flex: 1;
1640
+ padding-right: 0.5rem;
1641
+ }
1642
+
1643
+ .wapp-modal-title-block h2 {
1644
+ margin: 0;
1645
+ color: var(--wapp-text);
1646
+ font-size: 1rem;
1647
+ font-weight: 700;
1648
+ line-height: 1.35;
1649
+ }
1650
+
1651
+ .wapp-modal-title-block p {
1652
+ margin: 0.25rem 0 0;
1653
+ color: var(--wapp-muted);
1654
+ font-size: 0.8125rem;
1655
+ line-height: 1.35;
1656
+ }
1657
+
1658
+ .wapp-modal-close {
1659
+ display: inline-flex;
1660
+ flex-shrink: 0;
1661
+ align-items: center;
1662
+ justify-content: center;
1663
+ width: 1.75rem;
1664
+ height: 1.75rem;
1665
+ border: 0;
1666
+ border-radius: 0.375rem;
1667
+ background: transparent;
1668
+ color: var(--wapp-muted);
1669
+ cursor: pointer;
1670
+ font-size: 1.5rem;
1671
+ line-height: 1;
1672
+ }
1673
+
1674
+ .wapp-modal-close:hover {
1675
+ background: color-mix(in srgb, var(--wapp-muted), transparent 88%);
1676
+ color: var(--wapp-text);
1677
+ }
1678
+
1679
+ .wapp-modal-body {
1680
+ min-width: 0;
1681
+ flex: 1;
1682
+ overflow-x: hidden;
1683
+ overflow-y: auto;
1684
+ padding: 0.75rem 1rem;
1685
+ }
1686
+
1687
+ .wapp-modal-footer {
1688
+ display: flex;
1689
+ flex-shrink: 0;
1690
+ flex-direction: column-reverse;
1691
+ align-items: stretch;
1692
+ justify-content: flex-end;
1693
+ gap: 0.5rem;
1694
+ border-top: 1px solid var(--wapp-border);
1695
+ padding: 0.75rem 1rem;
1696
+ }
1697
+
1698
+ @media (min-width: 640px) {
1699
+ .wapp-modal-layer {
1700
+ padding: 1rem;
1701
+ }
1702
+
1703
+ .wapp-modal {
1704
+ max-height: calc(100dvh - 2.5rem);
1705
+ }
1706
+
1707
+ .wapp-modal-header {
1708
+ padding: 1rem 1.5rem;
1709
+ }
1710
+
1711
+ .wapp-modal-title-block h2 {
1712
+ font-size: 1.125rem;
1713
+ }
1714
+
1715
+ .wapp-modal-title-block p {
1716
+ font-size: 0.875rem;
1717
+ }
1718
+
1719
+ .wapp-modal-body {
1720
+ padding: 1rem 1.5rem;
1721
+ }
1722
+
1723
+ .wapp-modal-footer {
1724
+ flex-direction: row;
1725
+ align-items: center;
1726
+ gap: 0.75rem;
1727
+ padding: 1rem 1.5rem;
1728
+ }
1729
+ }
1730
+
1322
1731
  .wapp-toolbar {
1323
1732
  display: flex;
1324
1733
  align-items: center;
@@ -1362,10 +1771,14 @@ textarea::placeholder {
1362
1771
  }
1363
1772
 
1364
1773
  .wapp-main-content {
1365
- padding: 1rem;
1774
+ overflow: auto;
1366
1775
  overflow-x: hidden;
1367
1776
  }
1368
1777
 
1778
+ .wapp-page {
1779
+ padding: 1rem;
1780
+ }
1781
+
1369
1782
  .wapp-panel-header,
1370
1783
  .wapp-entity-header {
1371
1784
  flex-wrap: wrap;