@nordbyte/nordrelay 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,919 @@
1
+ :root {
2
+ color-scheme: light;
3
+ --bg:#f4f6f2;
4
+ --surface:#ffffff;
5
+ --surface-soft:#fbfcf8;
6
+ --text:#18201b;
7
+ --muted:#5d675f;
8
+ --border:#dce3d9;
9
+ --border-soft:#e7ede4;
10
+ --sidebar:#17251d;
11
+ --sidebar-text:#f4f8f2;
12
+ --sidebar-muted:#aebcaf;
13
+ --accent:#235c42;
14
+ --accent-strong:#17452f;
15
+ --accent-soft:#dff5e8;
16
+ --warn:#fff7da;
17
+ --danger:#9b1c1c;
18
+ --pre:#111812;
19
+ --pre-text:#f3f7ef;
20
+ --shadow:0 8px 24px rgba(24,32,27,.04);
21
+ --link:#1d6a4c;
22
+ }
23
+ :root[data-theme=dark] {
24
+ color-scheme: dark;
25
+ --bg:#101411;
26
+ --surface:#171d19;
27
+ --surface-soft:#1d251f;
28
+ --text:#edf4ee;
29
+ --muted:#a7b3aa;
30
+ --border:#2d3830;
31
+ --border-soft:#263128;
32
+ --sidebar:#0c120f;
33
+ --sidebar-text:#edf7ef;
34
+ --sidebar-muted:#8da091;
35
+ --accent:#4fa876;
36
+ --accent-strong:#64bd89;
37
+ --accent-soft:#173d2a;
38
+ --warn:#3b3216;
39
+ --danger:#cc4b4b;
40
+ --pre:#070a08;
41
+ --pre-text:#e8f1ea;
42
+ --shadow:0 10px 28px rgba(0,0,0,.22);
43
+ --link:#75c99a;
44
+ }
45
+ .agent-settings-nav {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 8px;
49
+ flex-wrap: wrap;
50
+ margin: 0 0 12px;
51
+ padding: 10px;
52
+ border: 1px solid var(--border-soft);
53
+ border-radius: 8px;
54
+ background: var(--surface);
55
+ }
56
+ .agent-settings-nav strong {
57
+ font-size: 13px;
58
+ color: var(--muted);
59
+ margin-right: 4px;
60
+ }
61
+ .agent-settings-nav button {
62
+ background: var(--surface);
63
+ color: var(--text);
64
+ border-color: var(--border);
65
+ height: 32px;
66
+ }
67
+ .agent-settings-nav button.active {
68
+ background: var(--accent);
69
+ color: white;
70
+ border-color: var(--accent);
71
+ }
72
+ @media (max-width: 560px) {
73
+ .agent-settings-nav {
74
+ align-items: stretch;
75
+ }
76
+ .agent-settings-nav button {
77
+ width: 100%;
78
+ }
79
+ }
80
+ .drop-active {
81
+ outline: 2px dashed var(--accent);
82
+ outline-offset: -8px;
83
+ }
84
+ .chip {
85
+ display: inline-flex;
86
+ align-items: center;
87
+ border-radius: 999px;
88
+ border: 1px solid var(--border);
89
+ padding: 2px 8px;
90
+ font-size: 12px;
91
+ color: var(--muted);
92
+ margin-right: 6px;
93
+ }
94
+ .chip.error {
95
+ color: var(--danger);
96
+ border-color: var(--danger);
97
+ }
98
+ .chip.warn {
99
+ color: #8a6a12;
100
+ border-color: #d9c27a;
101
+ background: var(--warn);
102
+ }
103
+ .gallery {
104
+ display: grid;
105
+ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
106
+ gap: 10px;
107
+ margin-top: 12px;
108
+ }
109
+ .artifact-card {
110
+ border: 1px solid var(--border-soft);
111
+ border-radius: 8px;
112
+ padding: 8px;
113
+ background: var(--surface-soft);
114
+ min-width: 0;
115
+ }
116
+ .artifact-card img {
117
+ width: 100%;
118
+ aspect-ratio: 1.4;
119
+ object-fit: cover;
120
+ border: 1px solid var(--border);
121
+ border-radius: 6px;
122
+ background: var(--surface);
123
+ }
124
+ .artifact-card small {
125
+ display: block;
126
+ overflow: hidden;
127
+ text-overflow: ellipsis;
128
+ white-space: nowrap;
129
+ }
130
+ .overview-adapter-grid {
131
+ display: grid;
132
+ grid-template-columns: repeat(2, minmax(0, 1fr));
133
+ gap: 16px;
134
+ }
135
+ .session-detail-section {
136
+ margin-top: 20px;
137
+ }
138
+ .session-detail-section summary {
139
+ cursor: pointer;
140
+ font-weight: 700;
141
+ margin-bottom: 0;
142
+ }
143
+ .session-detail-section[open] summary {
144
+ margin-bottom: 10px;
145
+ }
146
+ .setting.dirty {
147
+ border-color: var(--accent);
148
+ }
149
+ .setting-actions {
150
+ display: flex;
151
+ gap: 8px;
152
+ align-items: center;
153
+ margin-top: 8px;
154
+ }
155
+ .setting-help {
156
+ font-size: 12px;
157
+ color: var(--muted);
158
+ }
159
+ .restart-banner {
160
+ border: 1px solid #d9c27a;
161
+ background: var(--warn);
162
+ border-radius: 8px;
163
+ padding: 10px;
164
+ margin: 0 0 12px;
165
+ }
166
+ .task-grid {
167
+ display: grid;
168
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
169
+ gap: 10px;
170
+ }
171
+ .task-section-title {
172
+ margin: 18px 0 6px;
173
+ }
174
+ .loading-state {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 10px;
178
+ min-height: 90px;
179
+ color: var(--muted);
180
+ }
181
+ .spinner {
182
+ width: 18px;
183
+ height: 18px;
184
+ border: 2px solid var(--border);
185
+ border-top-color: var(--accent);
186
+ border-radius: 50%;
187
+ animation: spin .8s linear infinite;
188
+ }
189
+ @keyframes spin {
190
+ to {
191
+ transform: rotate(360deg);
192
+ }
193
+ }
194
+ .log-view {
195
+ max-height: min(64vh, 720px);
196
+ min-height: 320px;
197
+ }
198
+ .log-line {
199
+ display: block;
200
+ }
201
+ .log-line.ERROR {
202
+ color: var(--danger);
203
+ font-weight: 700;
204
+ }
205
+ .log-line.WARN {
206
+ color: #8a6a12;
207
+ font-weight: 700;
208
+ }
209
+ .tool-tooltip {
210
+ position: fixed;
211
+ z-index: 60;
212
+ display: none;
213
+ max-width: 220px;
214
+ padding: 6px 8px;
215
+ border: 1px solid var(--border);
216
+ border-radius: 6px;
217
+ background: var(--pre);
218
+ color: var(--pre-text);
219
+ font-size: 12px;
220
+ box-shadow: var(--shadow);
221
+ pointer-events: none;
222
+ }
223
+ .connection-ok {
224
+ color: #1e754e;
225
+ border-color: #8ed0aa;
226
+ }
227
+ .connection-warn {
228
+ color: #8a6a12;
229
+ border-color: #d9c27a;
230
+ }
231
+ .connection-error {
232
+ color: var(--danger);
233
+ border-color: var(--danger);
234
+ }
235
+ .version-actions {
236
+ margin-bottom: 12px;
237
+ }
238
+ .version-update-title {
239
+ margin-top: 22px;
240
+ }
241
+ .mini-button {
242
+ height: 26px;
243
+ padding: 0 8px;
244
+ font-size: 12px;
245
+ }
246
+ .update-log {
247
+ max-height: 280px;
248
+ min-height: 90px;
249
+ margin-top: 10px;
250
+ }
251
+ .update-job-header {
252
+ display: flex;
253
+ justify-content: space-between;
254
+ gap: 10px;
255
+ align-items: flex-start;
256
+ flex-wrap: wrap;
257
+ }
258
+ .update-input {
259
+ display: grid;
260
+ grid-template-columns: 1fr auto auto;
261
+ gap: 8px;
262
+ margin-top: 8px;
263
+ }
264
+ * {
265
+ box-sizing: border-box;
266
+ }
267
+ body {
268
+ margin: 0;
269
+ background: var(--bg);
270
+ color: var(--text);
271
+ font-family:
272
+ Inter,
273
+ system-ui,
274
+ -apple-system,
275
+ Segoe UI,
276
+ sans-serif;
277
+ }
278
+ .app {
279
+ min-height: 100vh;
280
+ display: grid;
281
+ grid-template-columns: 260px 1fr;
282
+ }
283
+ .sidebar {
284
+ background: var(--sidebar);
285
+ color: var(--sidebar-text);
286
+ padding: 18px;
287
+ display: flex;
288
+ flex-direction: column;
289
+ gap: 22px;
290
+ }
291
+ .brand {
292
+ display: flex;
293
+ align-items: center;
294
+ gap: 12px;
295
+ }
296
+ .mark {
297
+ display: grid;
298
+ place-items: center;
299
+ width: 38px;
300
+ height: 38px;
301
+ border-radius: 8px;
302
+ background: #d7ffe5;
303
+ color: #173d29;
304
+ font-weight: 800;
305
+ }
306
+ .brand small {
307
+ display: block;
308
+ color: var(--sidebar-muted);
309
+ }
310
+ nav {
311
+ display: flex;
312
+ flex-direction: column;
313
+ gap: 6px;
314
+ }
315
+ nav button,
316
+ .menu {
317
+ border: 0;
318
+ border-radius: 6px;
319
+ padding: 10px 12px;
320
+ background: transparent;
321
+ color: inherit;
322
+ text-align: left;
323
+ font: inherit;
324
+ cursor: pointer;
325
+ }
326
+ nav button.active,
327
+ nav button:hover {
328
+ background: color-mix(in srgb, var(--accent) 35%, transparent);
329
+ }
330
+ main {
331
+ min-width: 0;
332
+ display: flex;
333
+ flex-direction: column;
334
+ }
335
+ header {
336
+ position: sticky;
337
+ top: 0;
338
+ z-index: 5;
339
+ display: flex;
340
+ justify-content: space-between;
341
+ gap: 16px;
342
+ align-items: center;
343
+ padding: 16px 22px;
344
+ background: color-mix(in srgb, var(--surface) 92%, transparent);
345
+ backdrop-filter: blur(12px);
346
+ border-bottom: 1px solid var(--border);
347
+ }
348
+ h1 {
349
+ font-size: 24px;
350
+ margin: 0;
351
+ }
352
+ h2 {
353
+ font-size: 16px;
354
+ margin: 0 0 12px;
355
+ }
356
+ p {
357
+ margin: 4px 0 0;
358
+ color: var(--muted);
359
+ }
360
+ a {
361
+ color: var(--link);
362
+ }
363
+ .header-actions,
364
+ .row,
365
+ .chat-toolbar,
366
+ .attachment-row {
367
+ display: flex;
368
+ gap: 8px;
369
+ align-items: center;
370
+ flex-wrap: wrap;
371
+ }
372
+ .menu {
373
+ display: none;
374
+ background: var(--surface-soft);
375
+ color: var(--text);
376
+ }
377
+ .page {
378
+ display: none;
379
+ padding: 22px;
380
+ }
381
+ .page.active {
382
+ display: block;
383
+ }
384
+ .stack {
385
+ display: flex;
386
+ flex-direction: column;
387
+ gap: 16px;
388
+ }
389
+ .metrics {
390
+ display: grid;
391
+ grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
392
+ gap: 12px;
393
+ margin-bottom: 16px;
394
+ }
395
+ .metric,
396
+ .panel {
397
+ background: var(--surface);
398
+ border: 1px solid var(--border);
399
+ border-radius: 8px;
400
+ padding: 16px;
401
+ box-shadow: var(--shadow);
402
+ }
403
+ .metric .label {
404
+ font-size: 12px;
405
+ text-transform: uppercase;
406
+ color: var(--muted);
407
+ }
408
+ .metric .value {
409
+ font-size: 22px;
410
+ font-weight: 750;
411
+ margin-top: 4px;
412
+ overflow: hidden;
413
+ text-overflow: ellipsis;
414
+ }
415
+ button,
416
+ select,
417
+ input,
418
+ textarea {
419
+ border: 1px solid var(--border);
420
+ border-radius: 6px;
421
+ background: var(--surface);
422
+ color: var(--text);
423
+ font: inherit;
424
+ }
425
+ button {
426
+ height: 36px;
427
+ padding: 0 12px;
428
+ background: var(--accent);
429
+ color: white;
430
+ border-color: var(--accent);
431
+ cursor: pointer;
432
+ }
433
+ button:hover {
434
+ background: var(--accent-strong);
435
+ }
436
+ button.secondary {
437
+ background: var(--surface);
438
+ color: var(--text);
439
+ }
440
+ input,
441
+ select {
442
+ height: 36px;
443
+ padding: 0 10px;
444
+ }
445
+ textarea {
446
+ width: 100%;
447
+ padding: 10px;
448
+ resize: vertical;
449
+ }
450
+ .chat-layout {
451
+ display: grid;
452
+ grid-template-columns: minmax(0, 1fr) 330px;
453
+ gap: 16px;
454
+ align-items: start;
455
+ }
456
+ .chat-panel {
457
+ height: calc(100vh - 170px);
458
+ min-height: 520px;
459
+ display: flex;
460
+ flex-direction: column;
461
+ }
462
+ .control-grid {
463
+ display: grid;
464
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
465
+ gap: 8px;
466
+ margin: 12px 0;
467
+ }
468
+ .control-grid label,
469
+ .form-grid label {
470
+ display: grid;
471
+ gap: 5px;
472
+ font-size: 12px;
473
+ color: var(--muted);
474
+ }
475
+ .messages {
476
+ flex: 1;
477
+ min-height: 0;
478
+ overflow: auto;
479
+ border: 1px solid var(--border-soft);
480
+ border-radius: 8px;
481
+ padding: 12px;
482
+ background: var(--surface-soft);
483
+ }
484
+ .message {
485
+ margin: 0 0 12px;
486
+ padding: 10px 12px;
487
+ border-radius: 8px;
488
+ max-width: 92%;
489
+ white-space: pre-wrap;
490
+ word-break: break-word;
491
+ }
492
+ .message.user {
493
+ margin-left: auto;
494
+ background: var(--accent-soft);
495
+ }
496
+ .message.agent {
497
+ background: color-mix(in srgb, var(--surface-soft) 80%, var(--border));
498
+ }
499
+ .message.system {
500
+ background: var(--warn);
501
+ }
502
+ .composer {
503
+ display: grid;
504
+ grid-template-columns: 1fr auto;
505
+ gap: 10px;
506
+ margin-top: 12px;
507
+ }
508
+ .composer-fields {
509
+ min-width: 0;
510
+ }
511
+ .composer button {
512
+ height: auto;
513
+ min-width: 90px;
514
+ }
515
+ .attachment-row {
516
+ margin-top: 8px;
517
+ color: var(--muted);
518
+ font-size: 13px;
519
+ }
520
+ .file-button {
521
+ display: inline-flex;
522
+ align-items: center;
523
+ height: 34px;
524
+ padding: 0 10px;
525
+ border: 1px solid var(--border);
526
+ border-radius: 6px;
527
+ background: var(--surface);
528
+ color: var(--text);
529
+ cursor: pointer;
530
+ }
531
+ input[type=file] {
532
+ display: none;
533
+ }
534
+ .sessions-toolbar {
535
+ display: flex;
536
+ justify-content: space-between;
537
+ align-items: center;
538
+ gap: 12px;
539
+ flex-wrap: wrap;
540
+ }
541
+ .sessions-toolbar .search-row {
542
+ flex: 1 1 320px;
543
+ }
544
+ .sessions-toolbar .attach-row {
545
+ flex: 1 1 360px;
546
+ justify-content: flex-end;
547
+ margin-left: auto;
548
+ }
549
+ .sessions-toolbar input {
550
+ min-width: 220px;
551
+ }
552
+ .copy-id {
553
+ height: auto;
554
+ padding: 0;
555
+ border: 0;
556
+ background: transparent;
557
+ color: var(--link);
558
+ font-family:
559
+ ui-monospace,
560
+ SFMono-Regular,
561
+ Menlo,
562
+ Consolas,
563
+ monospace;
564
+ font-size: 12px;
565
+ }
566
+ .copy-id:hover {
567
+ background: transparent;
568
+ text-decoration: underline;
569
+ }
570
+ .side-panel {
571
+ max-height: calc(100vh - 126px);
572
+ display: flex;
573
+ flex-direction: column;
574
+ }
575
+ .tool-stream {
576
+ display: flex;
577
+ flex-direction: column;
578
+ gap: 8px;
579
+ overflow: auto;
580
+ max-height: calc(100vh - 190px);
581
+ padding-right: 4px;
582
+ }
583
+ .tool {
584
+ border: 1px solid var(--border-soft);
585
+ border-radius: 6px;
586
+ padding: 8px;
587
+ background: var(--surface-soft);
588
+ white-space: pre-wrap;
589
+ word-break: break-word;
590
+ }
591
+ .list {
592
+ display: flex;
593
+ flex-direction: column;
594
+ gap: 8px;
595
+ margin-top: 12px;
596
+ }
597
+ .item {
598
+ border: 1px solid var(--border-soft);
599
+ border-radius: 8px;
600
+ padding: 12px;
601
+ background: var(--surface-soft);
602
+ }
603
+ .item strong {
604
+ display: block;
605
+ overflow-wrap: anywhere;
606
+ }
607
+ .item small {
608
+ display: block;
609
+ color: var(--muted);
610
+ overflow-wrap: anywhere;
611
+ }
612
+ .queue-item {
613
+ cursor: grab;
614
+ }
615
+ .queue-item.dragging {
616
+ opacity: .55;
617
+ }
618
+ .badge,
619
+ .adapter-status {
620
+ display: inline-flex;
621
+ align-items: center;
622
+ border: 1px solid var(--border);
623
+ border-radius: 999px;
624
+ padding: 2px 8px;
625
+ color: var(--muted);
626
+ font-size: 12px;
627
+ }
628
+ .adapter-status {
629
+ margin-left: 6px;
630
+ text-transform: capitalize;
631
+ }
632
+ .adapter-status.enabled,
633
+ .adapter-status.available {
634
+ color: #1e754e;
635
+ border-color: #8ed0aa;
636
+ background: color-mix(in srgb, var(--accent-soft) 55%, transparent);
637
+ }
638
+ .adapter-status.disabled {
639
+ color: var(--muted);
640
+ }
641
+ .adapter-status.planned {
642
+ color: #8a6a12;
643
+ border-color: #d9c27a;
644
+ background: var(--warn);
645
+ }
646
+ .feature-matrix {
647
+ display: grid;
648
+ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
649
+ gap: 6px;
650
+ margin-top: 10px;
651
+ }
652
+ .feature-chip {
653
+ display: flex;
654
+ justify-content: space-between;
655
+ gap: 8px;
656
+ border: 1px solid var(--border-soft);
657
+ border-radius: 6px;
658
+ padding: 5px 7px;
659
+ font-size: 12px;
660
+ color: var(--muted);
661
+ background: var(--surface);
662
+ }
663
+ .feature-chip.supported {
664
+ color: #1e754e;
665
+ }
666
+ .feature-chip.unsupported {
667
+ opacity: .62;
668
+ }
669
+ .preview {
670
+ margin-top: 12px;
671
+ }
672
+ .preview img {
673
+ max-width: 100%;
674
+ border: 1px solid var(--border);
675
+ border-radius: 8px;
676
+ background: var(--surface);
677
+ }
678
+ .settings-grid {
679
+ display: block;
680
+ }
681
+ .setting {
682
+ border: 1px solid var(--border-soft);
683
+ border-radius: 8px;
684
+ padding: 12px;
685
+ margin-bottom: 10px;
686
+ background: var(--surface-soft);
687
+ }
688
+ .setting label {
689
+ display: block;
690
+ font-size: 13px;
691
+ font-weight: 700;
692
+ margin-bottom: 6px;
693
+ }
694
+ .setting small {
695
+ display: block;
696
+ color: var(--muted);
697
+ margin-top: 6px;
698
+ }
699
+ .setting input,
700
+ .setting textarea,
701
+ .setting select {
702
+ width: 100%;
703
+ }
704
+ .setting-error {
705
+ color: var(--danger);
706
+ font-size: 12px;
707
+ margin-top: 6px;
708
+ }
709
+ .checkbox {
710
+ display: inline-flex !important;
711
+ grid-template-columns: auto 1fr !important;
712
+ align-items: center;
713
+ gap: 8px;
714
+ }
715
+ .checkbox input {
716
+ height: auto;
717
+ width: auto;
718
+ }
719
+ .tabs {
720
+ display: flex;
721
+ gap: 8px;
722
+ flex-wrap: wrap;
723
+ margin: 14px 0;
724
+ }
725
+ .tabs button {
726
+ background: var(--surface);
727
+ color: var(--text);
728
+ border-color: var(--border);
729
+ height: 34px;
730
+ }
731
+ .tabs button.active {
732
+ background: var(--accent);
733
+ color: white;
734
+ border-color: var(--accent);
735
+ }
736
+ .pager {
737
+ display: flex;
738
+ justify-content: space-between;
739
+ align-items: center;
740
+ gap: 10px;
741
+ flex-wrap: wrap;
742
+ margin-top: 12px;
743
+ color: var(--muted);
744
+ }
745
+ .pager-actions {
746
+ display: flex;
747
+ gap: 8px;
748
+ }
749
+ .pager button:disabled {
750
+ opacity: .45;
751
+ cursor: not-allowed;
752
+ }
753
+ pre {
754
+ white-space: pre-wrap;
755
+ word-break: break-word;
756
+ background: var(--pre);
757
+ color: var(--pre-text);
758
+ border-radius: 8px;
759
+ padding: 14px;
760
+ overflow: auto;
761
+ }
762
+ footer {
763
+ margin-top: auto;
764
+ display: flex;
765
+ gap: 18px;
766
+ flex-wrap: wrap;
767
+ padding: 14px 22px;
768
+ border-top: 1px solid var(--border);
769
+ color: var(--muted);
770
+ background: var(--surface);
771
+ }
772
+ dialog {
773
+ border: 1px solid var(--border);
774
+ border-radius: 8px;
775
+ background: var(--surface);
776
+ color: var(--text);
777
+ width: min(720px, calc(100vw - 28px));
778
+ padding: 18px;
779
+ box-shadow: 0 18px 70px rgba(0, 0, 0, .22);
780
+ }
781
+ dialog::backdrop {
782
+ background: rgba(0, 0, 0, .35);
783
+ }
784
+ .form-grid {
785
+ display: grid;
786
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
787
+ gap: 12px;
788
+ }
789
+ .dialog-actions {
790
+ justify-content: flex-end;
791
+ margin-top: 16px;
792
+ }
793
+ #toast {
794
+ position: fixed;
795
+ right: 18px;
796
+ bottom: 18px;
797
+ display: none;
798
+ background: var(--accent);
799
+ color: white;
800
+ border-radius: 8px;
801
+ padding: 12px 14px;
802
+ max-width: 360px;
803
+ }
804
+ .danger {
805
+ background: var(--danger);
806
+ border-color: var(--danger);
807
+ color: white;
808
+ }
809
+ .form-grid .full-span {
810
+ grid-column: 1/-1;
811
+ }
812
+ .permission-grid {
813
+ display: grid;
814
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
815
+ gap: 6px;
816
+ max-height: 220px;
817
+ overflow: auto;
818
+ border: 1px solid var(--border-soft);
819
+ border-radius: 8px;
820
+ padding: 8px;
821
+ background: var(--surface-soft);
822
+ }
823
+ @media (max-width: 860px) {
824
+ .app {
825
+ display: block;
826
+ }
827
+ .sidebar {
828
+ position: fixed;
829
+ inset: 0 auto 0 0;
830
+ width: 270px;
831
+ transform: translateX(-100%);
832
+ transition: .18s transform;
833
+ z-index: 20;
834
+ }
835
+ .sidebar.open {
836
+ transform: translateX(0);
837
+ }
838
+ .menu {
839
+ display: inline-block;
840
+ }
841
+ .header-actions {
842
+ justify-content: flex-end;
843
+ }
844
+ .page {
845
+ padding: 14px;
846
+ }
847
+ .overview-adapter-grid {
848
+ grid-template-columns: 1fr;
849
+ }
850
+ .chat-layout {
851
+ grid-template-columns: 1fr;
852
+ }
853
+ .chat-panel {
854
+ height: auto;
855
+ min-height: 0;
856
+ }
857
+ .messages {
858
+ max-height: 55vh;
859
+ min-height: 300px;
860
+ }
861
+ .composer {
862
+ grid-template-columns: 1fr;
863
+ }
864
+ .composer button {
865
+ height: 40px;
866
+ }
867
+ .side-panel {
868
+ order: -1;
869
+ max-height: 360px;
870
+ }
871
+ .tool-stream {
872
+ max-height: 300px;
873
+ }
874
+ header {
875
+ align-items: flex-start;
876
+ }
877
+ .metrics {
878
+ grid-template-columns: 1fr 1fr;
879
+ }
880
+ }
881
+ @media (max-width: 560px) {
882
+ .metrics {
883
+ grid-template-columns: 1fr;
884
+ }
885
+ .row {
886
+ align-items: stretch;
887
+ }
888
+ .row > * {
889
+ width: 100%;
890
+ }
891
+ header {
892
+ display: grid;
893
+ grid-template-columns: auto 1fr;
894
+ }
895
+ .header-actions {
896
+ grid-column: 1/3;
897
+ }
898
+ .message {
899
+ max-width: 100%;
900
+ }
901
+ .pager {
902
+ align-items: stretch;
903
+ }
904
+ .pager-actions,
905
+ .pager button {
906
+ width: 100%;
907
+ }
908
+ .attachment-row > *,
909
+ .sessions-toolbar,
910
+ .sessions-toolbar .row,
911
+ .sessions-toolbar input,
912
+ .sessions-toolbar button {
913
+ width: 100%;
914
+ }
915
+ .sessions-toolbar .attach-row {
916
+ margin-left: 0;
917
+ justify-content: stretch;
918
+ }
919
+ }