agent-office-cli 0.0.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.
@@ -0,0 +1,988 @@
1
+ /* === AgentOffice Office & Terminal — Warm Atelier === */
2
+
3
+ :root {
4
+ --bg: #f4ebe0;
5
+ --surface: #fffbf5;
6
+ --border: #d6c9b6;
7
+ --border-strong: #2f2b26;
8
+ --text: #2f2b26;
9
+ --muted: #8a7e6e;
10
+ --accent: #b95c33;
11
+ --accent-hover: #a34e28;
12
+ --accent-glow: rgba(185, 92, 51, 0.15);
13
+ --shadow: 0 1px 3px rgba(47,43,38,0.06), 0 8px 24px rgba(47,43,38,0.08);
14
+ --shadow-sm: 0 1px 2px rgba(47,43,38,0.05), 0 4px 12px rgba(47,43,38,0.06);
15
+ --shadow-hover: 0 2px 6px rgba(47,43,38,0.08), 0 12px 32px rgba(47,43,38,0.10);
16
+ --radius: 14px;
17
+ --radius-lg: 20px;
18
+ --radius-sm: 10px;
19
+ --font-body: 'DM Sans', system-ui, sans-serif;
20
+ --font-display: 'DM Serif Display', Georgia, serif;
21
+ --font-mono: 'SFMono-Regular', 'Menlo', 'Consolas', monospace;
22
+ /* Zone colors — desaturated */
23
+ --working: #e0d8f0;
24
+ --waiting: #f5dcc0;
25
+ --attention: #f0c4c0;
26
+ --idle: #e8e0d0;
27
+ }
28
+
29
+ *, *::before, *::after { box-sizing: border-box; }
30
+
31
+ body {
32
+ margin: 0;
33
+ background: var(--bg);
34
+ background-image:
35
+ radial-gradient(ellipse 120% 80% at 20% 0%, rgba(185,92,51,0.06) 0%, transparent 60%),
36
+ radial-gradient(ellipse 80% 100% at 90% 100%, rgba(185,92,51,0.04) 0%, transparent 50%);
37
+ color: var(--text);
38
+ font-family: var(--font-body);
39
+ -webkit-font-smoothing: antialiased;
40
+ }
41
+
42
+ button, input, textarea, select {
43
+ font: inherit;
44
+ }
45
+
46
+ #app {
47
+ min-height: 100vh;
48
+ }
49
+
50
+ /* ==========================================
51
+ Office Page
52
+ ========================================== */
53
+
54
+ .page-shell {
55
+ max-width: 1320px;
56
+ margin: 0 auto;
57
+ padding: 28px 32px 48px;
58
+ }
59
+
60
+ /* --- Topbar --- */
61
+
62
+ .topbar {
63
+ display: flex;
64
+ justify-content: space-between;
65
+ align-items: center;
66
+ gap: 16px;
67
+ margin-bottom: 28px;
68
+ flex-wrap: wrap;
69
+ }
70
+
71
+ .topbar-main {
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 12px;
75
+ }
76
+
77
+ .topbar-brand {
78
+ display: flex;
79
+ align-items: center;
80
+ gap: 12px;
81
+ }
82
+
83
+ .brand-mark {
84
+ width: 36px;
85
+ height: 36px;
86
+ background: var(--accent);
87
+ border-radius: 10px;
88
+ display: grid;
89
+ place-items: center;
90
+ flex-shrink: 0;
91
+ }
92
+
93
+ .brand-mark svg {
94
+ width: 20px;
95
+ height: 20px;
96
+ fill: #fff;
97
+ }
98
+
99
+ .topbar-text .eyebrow {
100
+ margin: 0 0 2px;
101
+ color: var(--muted);
102
+ font-size: 11px;
103
+ font-weight: 600;
104
+ text-transform: uppercase;
105
+ letter-spacing: 0.14em;
106
+ }
107
+
108
+ .topbar-text h1 {
109
+ margin: 0;
110
+ font-family: var(--font-display);
111
+ font-size: 22px;
112
+ font-weight: 400;
113
+ letter-spacing: -0.01em;
114
+ }
115
+
116
+ .topbar-pills {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: 8px;
120
+ flex-wrap: wrap;
121
+ }
122
+
123
+ .menu-button {
124
+ display: inline-flex;
125
+ align-items: center;
126
+ gap: 10px;
127
+ padding: 8px 12px;
128
+ border: 1px solid var(--border);
129
+ border-radius: 999px;
130
+ background: rgba(255, 251, 245, 0.92);
131
+ color: var(--text);
132
+ cursor: pointer;
133
+ box-shadow: var(--shadow-sm);
134
+ }
135
+
136
+ .menu-button-lines {
137
+ width: 14px;
138
+ height: 10px;
139
+ display: inline-block;
140
+ background-image: linear-gradient(var(--text), var(--text)), linear-gradient(var(--text), var(--text)), linear-gradient(var(--text), var(--text));
141
+ background-repeat: no-repeat;
142
+ background-size: 14px 1.5px;
143
+ background-position: 0 0, 0 4px, 0 8px;
144
+ }
145
+
146
+ .menu-button-label {
147
+ font-size: 12px;
148
+ font-weight: 600;
149
+ }
150
+
151
+ .nav-drawer {
152
+ position: fixed;
153
+ inset: 0;
154
+ z-index: 40;
155
+ pointer-events: none;
156
+ }
157
+
158
+ .nav-drawer.is-open {
159
+ pointer-events: auto;
160
+ }
161
+
162
+ .nav-drawer-backdrop {
163
+ position: absolute;
164
+ inset: 0;
165
+ border: 0;
166
+ background: rgba(47, 43, 38, 0.24);
167
+ opacity: 0;
168
+ transition: opacity 0.2s ease;
169
+ }
170
+
171
+ .nav-drawer.is-open .nav-drawer-backdrop {
172
+ opacity: 1;
173
+ }
174
+
175
+ .nav-drawer-panel {
176
+ position: absolute;
177
+ top: 0;
178
+ left: 0;
179
+ height: 100%;
180
+ width: min(320px, calc(100vw - 24px));
181
+ padding: 22px 18px;
182
+ background: rgba(255, 251, 245, 0.98);
183
+ border-right: 1px solid var(--border);
184
+ box-shadow: 24px 0 48px rgba(47,43,38,0.12);
185
+ transform: translateX(-102%);
186
+ transition: transform 0.22s ease;
187
+ }
188
+
189
+ .nav-drawer.is-open .nav-drawer-panel {
190
+ transform: translateX(0);
191
+ }
192
+
193
+ .nav-drawer-head {
194
+ display: flex;
195
+ justify-content: space-between;
196
+ align-items: flex-start;
197
+ gap: 12px;
198
+ margin-bottom: 20px;
199
+ }
200
+
201
+ .nav-drawer-head strong {
202
+ display: block;
203
+ font-family: var(--font-display);
204
+ font-size: 22px;
205
+ font-weight: 400;
206
+ }
207
+
208
+ .nav-close-button {
209
+ width: 36px;
210
+ height: 36px;
211
+ border: 1px solid var(--border);
212
+ border-radius: 999px;
213
+ background: var(--surface);
214
+ color: var(--text);
215
+ cursor: pointer;
216
+ font-size: 22px;
217
+ line-height: 1;
218
+ }
219
+
220
+ .nav-drawer-links {
221
+ display: grid;
222
+ gap: 10px;
223
+ }
224
+
225
+ .nav-link {
226
+ display: block;
227
+ padding: 14px 14px 13px;
228
+ border: 1px solid var(--border);
229
+ border-radius: 16px;
230
+ background: rgba(255,255,255,0.65);
231
+ color: inherit;
232
+ text-decoration: none;
233
+ }
234
+
235
+ .nav-link.is-active {
236
+ border-color: rgba(185,92,51,0.38);
237
+ background: rgba(185,92,51,0.08);
238
+ box-shadow: inset 0 0 0 1px rgba(185,92,51,0.08);
239
+ }
240
+
241
+ .nav-link-title {
242
+ display: block;
243
+ font-family: var(--font-display);
244
+ font-size: 18px;
245
+ margin-bottom: 4px;
246
+ }
247
+
248
+ .nav-link-copy {
249
+ display: block;
250
+ color: var(--muted);
251
+ font-size: 12px;
252
+ line-height: 1.5;
253
+ }
254
+
255
+ .pill {
256
+ display: inline-flex;
257
+ align-items: center;
258
+ gap: 5px;
259
+ padding: 5px 12px;
260
+ border: 1px solid var(--border);
261
+ border-radius: 999px;
262
+ background: var(--surface);
263
+ font-size: 12px;
264
+ font-weight: 500;
265
+ color: var(--muted);
266
+ }
267
+
268
+ .status-pill {
269
+ display: inline-flex;
270
+ align-items: center;
271
+ gap: 5px;
272
+ padding: 5px 12px;
273
+ border: 1px solid var(--border);
274
+ border-radius: 999px;
275
+ background: var(--surface);
276
+ font-size: 12px;
277
+ font-weight: 500;
278
+ color: var(--muted);
279
+ transition: background 0.2s, border-color 0.2s;
280
+ }
281
+
282
+ .status-dot {
283
+ width: 6px;
284
+ height: 6px;
285
+ border-radius: 50%;
286
+ background: #78b07a;
287
+ flex-shrink: 0;
288
+ }
289
+
290
+ .status-pill[data-status="reconnecting"] .status-dot,
291
+ .status-pill[data-status="connecting"] .status-dot {
292
+ background: var(--waiting);
293
+ }
294
+
295
+ /* --- Layout --- */
296
+
297
+ .layout {
298
+ display: grid;
299
+ grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.8fr);
300
+ gap: 24px;
301
+ }
302
+
303
+ .panel {
304
+ background: var(--surface);
305
+ border: 1px solid var(--border);
306
+ border-radius: var(--radius-lg);
307
+ box-shadow: var(--shadow);
308
+ padding: 24px;
309
+ }
310
+
311
+ /* --- Section Heads --- */
312
+
313
+ .section-head {
314
+ display: flex;
315
+ justify-content: space-between;
316
+ gap: 16px;
317
+ }
318
+
319
+ .section-head h2 {
320
+ margin: 0;
321
+ font-family: var(--font-display);
322
+ font-size: 20px;
323
+ font-weight: 400;
324
+ letter-spacing: -0.01em;
325
+ }
326
+
327
+ .section-head p,
328
+ .helper-text {
329
+ margin: 4px 0 0;
330
+ color: var(--muted);
331
+ font-size: 13px;
332
+ line-height: 1.5;
333
+ }
334
+
335
+ /* --- Office Grid --- */
336
+
337
+ .office-grid {
338
+ display: grid;
339
+ grid-template-columns: repeat(2, minmax(0, 1fr));
340
+ gap: 16px;
341
+ margin-top: 20px;
342
+ }
343
+
344
+ /* --- Zones --- */
345
+
346
+ .zone {
347
+ min-height: 200px;
348
+ border: 1px solid rgba(47, 43, 38, 0.12);
349
+ border-radius: 16px;
350
+ padding: 16px;
351
+ background: var(--zone-color);
352
+ box-shadow: inset 0 1px 2px rgba(255,255,255,0.5);
353
+ transition: box-shadow 0.2s;
354
+ }
355
+
356
+ .zone-head {
357
+ display: flex;
358
+ justify-content: space-between;
359
+ gap: 10px;
360
+ margin-bottom: 14px;
361
+ align-items: flex-start;
362
+ }
363
+
364
+ .zone-head h3 {
365
+ margin: 0;
366
+ font-family: var(--font-display);
367
+ font-size: 16px;
368
+ font-weight: 400;
369
+ }
370
+
371
+ .zone-head p {
372
+ margin: 2px 0 0;
373
+ color: rgba(47, 43, 38, 0.55);
374
+ font-size: 12px;
375
+ line-height: 1.4;
376
+ }
377
+
378
+ .zone-count {
379
+ display: inline-flex;
380
+ align-items: center;
381
+ justify-content: center;
382
+ min-width: 28px;
383
+ height: 28px;
384
+ padding: 0 8px;
385
+ border: 1px solid rgba(47, 43, 38, 0.18);
386
+ border-radius: 999px;
387
+ background: rgba(255, 255, 255, 0.7);
388
+ font-size: 12px;
389
+ font-weight: 600;
390
+ flex-shrink: 0;
391
+ }
392
+
393
+ /* --- Worker List --- */
394
+
395
+ .worker-list {
396
+ display: flex;
397
+ flex-wrap: wrap;
398
+ gap: 10px;
399
+ }
400
+
401
+ /* --- Worker Card --- */
402
+
403
+ .worker-card {
404
+ width: 148px;
405
+ min-height: 110px;
406
+ border: 1px solid rgba(47, 43, 38, 0.12);
407
+ border-radius: var(--radius);
408
+ background: rgba(255, 255, 255, 0.82);
409
+ padding: 12px;
410
+ cursor: pointer;
411
+ text-align: left;
412
+ transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
413
+ box-shadow: 0 1px 2px rgba(47,43,38,0.04);
414
+ }
415
+
416
+ .worker-card:hover {
417
+ transform: translateY(-2px);
418
+ box-shadow: var(--shadow-sm);
419
+ border-color: var(--border);
420
+ }
421
+
422
+ .worker-card:active {
423
+ transform: translateY(0);
424
+ }
425
+
426
+ .worker-icon {
427
+ width: 32px;
428
+ height: 32px;
429
+ border-radius: 8px;
430
+ display: grid;
431
+ place-items: center;
432
+ margin-bottom: 8px;
433
+ }
434
+
435
+ .worker-icon svg {
436
+ width: 18px;
437
+ height: 18px;
438
+ fill: #fff;
439
+ }
440
+
441
+ .worker-icon.provider-claude { background: #7ea9d1; }
442
+ .worker-icon.provider-codex { background: #d98f72; }
443
+ .worker-icon.provider-generic { background: #90b98b; }
444
+
445
+ .worker-card h3 {
446
+ margin: 0;
447
+ font-size: 13px;
448
+ font-weight: 600;
449
+ line-height: 1.3;
450
+ overflow: hidden;
451
+ text-overflow: ellipsis;
452
+ white-space: nowrap;
453
+ }
454
+
455
+ .worker-card p {
456
+ margin: 3px 0 0;
457
+ color: var(--muted);
458
+ font-size: 11px;
459
+ line-height: 1.3;
460
+ }
461
+
462
+ /* --- Mobile worker row (compact list layout) --- */
463
+
464
+ .worker-row {
465
+ display: none;
466
+ }
467
+
468
+ /* --- Quick Launch --- */
469
+
470
+ .quick-launch-actions {
471
+ display: grid;
472
+ gap: 10px;
473
+ margin-top: 16px;
474
+ }
475
+
476
+ .primary-button {
477
+ padding: 11px 18px;
478
+ border: none;
479
+ border-radius: var(--radius-sm);
480
+ background: var(--accent);
481
+ color: #fff;
482
+ font-weight: 600;
483
+ font-size: 14px;
484
+ cursor: pointer;
485
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
486
+ outline: none;
487
+ }
488
+
489
+ .primary-button:hover:not(:disabled) {
490
+ background: var(--accent-hover);
491
+ transform: translateY(-1px);
492
+ box-shadow: 0 4px 12px rgba(185,92,51,0.25);
493
+ }
494
+
495
+ .primary-button:active:not(:disabled) {
496
+ transform: translateY(0);
497
+ box-shadow: none;
498
+ }
499
+
500
+ .primary-button:disabled {
501
+ opacity: 0.55;
502
+ cursor: not-allowed;
503
+ transform: none;
504
+ }
505
+
506
+ .ghost-button {
507
+ padding: 9px 16px;
508
+ border: 1.5px solid var(--border);
509
+ border-radius: var(--radius-sm);
510
+ background: var(--surface);
511
+ color: var(--text);
512
+ font-weight: 600;
513
+ font-size: 13px;
514
+ cursor: pointer;
515
+ transition: all 0.2s;
516
+ outline: none;
517
+ }
518
+
519
+ .ghost-button:hover:not(:disabled) {
520
+ border-color: var(--border-strong);
521
+ background: #fefcf8;
522
+ }
523
+
524
+ .ghost-button:focus-visible {
525
+ box-shadow: 0 0 0 3px var(--accent-glow);
526
+ }
527
+
528
+ /* --- Legend --- */
529
+
530
+ .legend {
531
+ display: grid;
532
+ gap: 8px;
533
+ margin-top: 20px;
534
+ padding-top: 18px;
535
+ border-top: 1px solid var(--border);
536
+ }
537
+
538
+ .legend-item {
539
+ display: flex;
540
+ align-items: flex-start;
541
+ gap: 10px;
542
+ }
543
+
544
+ .legend-color {
545
+ width: 14px;
546
+ height: 14px;
547
+ border: 1px solid rgba(47, 43, 38, 0.15);
548
+ border-radius: 4px;
549
+ flex-shrink: 0;
550
+ margin-top: 2px;
551
+ }
552
+
553
+ .legend-item strong {
554
+ font-size: 13px;
555
+ font-weight: 600;
556
+ }
557
+
558
+ .legend-item .helper-text {
559
+ font-size: 12px;
560
+ margin: 1px 0 0;
561
+ }
562
+
563
+ /* --- Empty State --- */
564
+
565
+ .empty-state {
566
+ display: grid;
567
+ place-items: center;
568
+ min-height: 80px;
569
+ border: 1.5px dashed rgba(47, 43, 38, 0.18);
570
+ border-radius: var(--radius);
571
+ color: var(--muted);
572
+ font-size: 13px;
573
+ padding: 12px;
574
+ }
575
+
576
+ /* ==========================================
577
+ Terminal Page
578
+ ========================================== */
579
+
580
+ .terminal-shell {
581
+ display: grid;
582
+ grid-template-rows: auto 1fr;
583
+ min-height: 100vh;
584
+ }
585
+
586
+ /* --- Terminal Topbar --- */
587
+
588
+ .terminal-topbar {
589
+ position: sticky;
590
+ top: 0;
591
+ display: flex;
592
+ justify-content: space-between;
593
+ align-items: center;
594
+ gap: 16px;
595
+ padding: 12px 20px;
596
+ border-bottom: 1px solid var(--border);
597
+ background: rgba(255, 251, 245, 0.92);
598
+ backdrop-filter: blur(16px);
599
+ -webkit-backdrop-filter: blur(16px);
600
+ z-index: 10;
601
+ }
602
+
603
+ .terminal-meta {
604
+ display: flex;
605
+ gap: 12px;
606
+ align-items: center;
607
+ flex-wrap: wrap;
608
+ }
609
+
610
+ .terminal-info h2 {
611
+ margin: 0;
612
+ font-family: var(--font-display);
613
+ font-size: 17px;
614
+ font-weight: 400;
615
+ }
616
+
617
+ .terminal-info p {
618
+ margin: 1px 0 0;
619
+ color: var(--muted);
620
+ font-size: 12px;
621
+ }
622
+
623
+ .terminal-info .eyebrow {
624
+ margin: 0 0 1px;
625
+ color: var(--muted);
626
+ font-size: 10px;
627
+ font-weight: 600;
628
+ text-transform: uppercase;
629
+ letter-spacing: 0.12em;
630
+ }
631
+
632
+ /* --- Terminal Layout --- */
633
+
634
+ .terminal-layout {
635
+ display: grid;
636
+ grid-template-columns: minmax(0, 1fr) 320px;
637
+ min-height: 0;
638
+ }
639
+
640
+ .terminal-panel {
641
+ background: #151311;
642
+ min-height: calc(100vh - 60px);
643
+ padding: 12px;
644
+ }
645
+
646
+ .terminal-host {
647
+ width: 100%;
648
+ height: 100%;
649
+ border: 1px solid #3b352e;
650
+ border-radius: var(--radius);
651
+ overflow: hidden;
652
+ }
653
+
654
+ /* --- Terminal Sidebar --- */
655
+
656
+ .terminal-sidebar {
657
+ border-left: 1px solid var(--border);
658
+ background: var(--surface);
659
+ padding: 20px;
660
+ display: grid;
661
+ align-content: start;
662
+ gap: 20px;
663
+ overflow-y: auto;
664
+ }
665
+
666
+ .terminal-sidebar .eyebrow {
667
+ margin: 0 0 8px;
668
+ color: var(--muted);
669
+ font-size: 10px;
670
+ font-weight: 600;
671
+ text-transform: uppercase;
672
+ letter-spacing: 0.12em;
673
+ }
674
+
675
+ /* --- Sidebar Toggle (mobile) --- */
676
+
677
+ .sidebar-toggle {
678
+ display: none;
679
+ position: fixed;
680
+ bottom: 16px;
681
+ right: 16px;
682
+ z-index: 20;
683
+ width: 48px;
684
+ height: 48px;
685
+ border: 1px solid var(--border);
686
+ border-radius: 50%;
687
+ background: var(--surface);
688
+ box-shadow: var(--shadow);
689
+ cursor: pointer;
690
+ font-size: 18px;
691
+ line-height: 1;
692
+ }
693
+
694
+ .sidebar-toggle:active {
695
+ transform: scale(0.95);
696
+ }
697
+
698
+ /* --- Metadata grid --- */
699
+
700
+ .meta-grid {
701
+ display: grid;
702
+ grid-template-columns: auto 1fr;
703
+ gap: 6px 12px;
704
+ font-size: 13px;
705
+ line-height: 1.6;
706
+ }
707
+
708
+ .meta-grid dt {
709
+ color: var(--muted);
710
+ font-weight: 500;
711
+ white-space: nowrap;
712
+ }
713
+
714
+ .meta-grid dd {
715
+ margin: 0;
716
+ word-break: break-word;
717
+ }
718
+
719
+ .meta-grid code {
720
+ font-family: var(--font-mono);
721
+ font-size: 12px;
722
+ background: rgba(47, 43, 38, 0.05);
723
+ padding: 1px 5px;
724
+ border-radius: 4px;
725
+ }
726
+
727
+ /* --- Terminal Warning --- */
728
+
729
+ .terminal-warning {
730
+ color: var(--accent);
731
+ font-size: 13px;
732
+ margin: 0;
733
+ min-height: 1em;
734
+ }
735
+
736
+ .terminal-warning:empty {
737
+ display: none;
738
+ }
739
+
740
+ /* --- Log Box --- */
741
+
742
+ .log-box {
743
+ padding: 14px;
744
+ border: 1px solid var(--border);
745
+ border-radius: var(--radius);
746
+ background: #faf7f2;
747
+ max-height: 240px;
748
+ overflow: auto;
749
+ font-family: var(--font-mono);
750
+ font-size: 12px;
751
+ line-height: 1.6;
752
+ white-space: pre-wrap;
753
+ color: var(--text);
754
+ }
755
+
756
+ .terminal-info code,
757
+ .terminal-warning code {
758
+ word-break: break-word;
759
+ }
760
+
761
+ /* ==========================================
762
+ Responsive
763
+ ========================================== */
764
+
765
+ /* Tablet: single column, terminal top-bottom */
766
+ @media (max-width: 1080px) {
767
+ .layout {
768
+ grid-template-columns: 1fr;
769
+ }
770
+
771
+ /* Terminal: top-bottom flow */
772
+ .terminal-layout {
773
+ display: flex;
774
+ flex-direction: column;
775
+ }
776
+
777
+ .terminal-panel {
778
+ min-height: 50vh;
779
+ }
780
+
781
+ .terminal-sidebar {
782
+ border-left: none;
783
+ border-top: 1px solid var(--border);
784
+ }
785
+ }
786
+
787
+ /* Mobile: ultra-compact office + terminal */
788
+ @media (max-width: 768px) {
789
+ .page-shell {
790
+ padding: 14px 12px 24px;
791
+ }
792
+
793
+ /* --- Office topbar compact --- */
794
+ .topbar {
795
+ margin-bottom: 14px;
796
+ gap: 8px;
797
+ }
798
+
799
+ .topbar-main {
800
+ width: 100%;
801
+ justify-content: space-between;
802
+ }
803
+
804
+ .brand-mark {
805
+ width: 28px;
806
+ height: 28px;
807
+ border-radius: 7px;
808
+ }
809
+
810
+ .brand-mark svg {
811
+ width: 16px;
812
+ height: 16px;
813
+ }
814
+
815
+ .topbar-brand { gap: 8px; }
816
+
817
+ .menu-button {
818
+ padding: 7px 11px;
819
+ gap: 8px;
820
+ }
821
+
822
+ .menu-button-label { font-size: 11px; }
823
+
824
+ .topbar-text .eyebrow { font-size: 9px; }
825
+
826
+ .topbar-text h1 { font-size: 17px; }
827
+
828
+ /* --- Panels compact --- */
829
+ .panel {
830
+ padding: 12px;
831
+ border-radius: 14px;
832
+ }
833
+
834
+ .section-head h2 { font-size: 16px; }
835
+
836
+ /* Hide section descriptions on mobile */
837
+ .section-head .helper-text { display: none; }
838
+
839
+ /* --- Zones: stay 2x2 grid, ultra compact --- */
840
+ .office-grid {
841
+ grid-template-columns: repeat(2, minmax(0, 1fr));
842
+ gap: 8px;
843
+ margin-top: 10px;
844
+ }
845
+
846
+ .zone {
847
+ min-height: auto;
848
+ padding: 10px;
849
+ border-radius: 12px;
850
+ }
851
+
852
+ .zone-head {
853
+ margin-bottom: 6px;
854
+ gap: 6px;
855
+ }
856
+
857
+ .zone-head h3 { font-size: 13px; }
858
+
859
+ /* Hide zone descriptions on mobile */
860
+ .zone-head p { display: none; }
861
+
862
+ .zone-count {
863
+ min-width: 22px;
864
+ height: 22px;
865
+ padding: 0 6px;
866
+ font-size: 11px;
867
+ }
868
+
869
+ .empty-state {
870
+ min-height: 36px;
871
+ font-size: 11px;
872
+ padding: 6px;
873
+ border-width: 1px;
874
+ }
875
+
876
+ /* --- Worker cards: inline row --- */
877
+ .worker-list {
878
+ flex-direction: column;
879
+ gap: 4px;
880
+ }
881
+
882
+ .worker-card {
883
+ width: 100%;
884
+ min-height: auto;
885
+ display: flex;
886
+ align-items: center;
887
+ gap: 8px;
888
+ padding: 6px 8px;
889
+ border-radius: 8px;
890
+ }
891
+
892
+ .worker-card .worker-icon {
893
+ margin-bottom: 0;
894
+ width: 22px;
895
+ height: 22px;
896
+ border-radius: 5px;
897
+ flex-shrink: 0;
898
+ }
899
+
900
+ .worker-card .worker-icon svg {
901
+ width: 13px;
902
+ height: 13px;
903
+ }
904
+
905
+ .worker-card h3 { font-size: 12px; }
906
+
907
+ .worker-card p { display: none; }
908
+
909
+ .worker-card-text {
910
+ flex: 1;
911
+ min-width: 0;
912
+ }
913
+
914
+ /* --- Quick Launch: full-width vertical stack --- */
915
+ .quick-launch-actions { gap: 8px; margin-top: 10px; }
916
+
917
+ .primary-button {
918
+ padding: 10px 14px;
919
+ font-size: 13px;
920
+ }
921
+
922
+ .quick-launch-actions .helper-text { font-size: 11px; }
923
+
924
+ /* --- Legend: hide on mobile (zone colors are self-explanatory) --- */
925
+ .legend { display: none; }
926
+
927
+ /* --- Terminal mobile: top-bottom --- */
928
+ .terminal-topbar {
929
+ padding: 8px 12px;
930
+ gap: 8px;
931
+ }
932
+
933
+ .terminal-meta {
934
+ width: 100%;
935
+ justify-content: space-between;
936
+ }
937
+
938
+ .terminal-info .eyebrow { display: none; }
939
+
940
+ .terminal-info h2 { font-size: 14px; }
941
+
942
+ .terminal-info p { font-size: 11px; }
943
+
944
+ .ghost-button {
945
+ padding: 6px 10px;
946
+ font-size: 12px;
947
+ }
948
+
949
+ .nav-drawer-panel {
950
+ width: min(292px, calc(100vw - 20px));
951
+ padding: 18px 14px;
952
+ }
953
+
954
+ .terminal-panel {
955
+ min-height: 45vh;
956
+ padding: 6px;
957
+ }
958
+
959
+ .terminal-host {
960
+ border-radius: 8px;
961
+ }
962
+
963
+ /* Sidebar: inline below terminal, compact */
964
+ .terminal-sidebar {
965
+ padding: 14px 12px;
966
+ gap: 14px;
967
+ }
968
+
969
+ .terminal-sidebar .eyebrow {
970
+ margin-bottom: 6px;
971
+ font-size: 9px;
972
+ }
973
+
974
+ .meta-grid {
975
+ font-size: 12px;
976
+ gap: 3px 10px;
977
+ }
978
+
979
+ .log-box {
980
+ max-height: 160px;
981
+ padding: 10px;
982
+ font-size: 11px;
983
+ }
984
+
985
+ /* Hide sidebar toggle + backdrop on mobile (sidebar is inline) */
986
+ .sidebar-toggle { display: none !important; }
987
+ .sidebar-backdrop { display: none !important; }
988
+ }