AbdallaHolmes commited on
Commit
bf89f89
Β·
verified Β·
1 Parent(s): 8e13a1f

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +1320 -19
index.html CHANGED
@@ -1,19 +1,1320 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Nexus Empire β€” Command Dashboard</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap" rel="stylesheet">
9
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
10
+ <style>
11
+ /* ═══════════════════════════════════════════════
12
+ CSS CUSTOM PROPERTIES β€” DESIGN TOKENS
13
+ ═══════════════════════════════════════════════ */
14
+ :root {
15
+ --bg-deep: #05060a;
16
+ --bg-primary: #0a0c12;
17
+ --bg-card: #0e1018;
18
+ --bg-card-hover: #12141e;
19
+ --bg-elevated: #161824;
20
+ --bg-input: #0c0e16;
21
+
22
+ --border-dim: rgba(255,255,255,0.04);
23
+ --border-subtle: rgba(255,255,255,0.07);
24
+ --border-medium: rgba(255,255,255,0.1);
25
+ --border-accent: rgba(0,240,255,0.2);
26
+
27
+ --text-primary: #e8eaf0;
28
+ --text-secondary: #8a8fa8;
29
+ --text-muted: #4e5270;
30
+ --text-accent: #00f0ff;
31
+
32
+ --accent: #00f0ff;
33
+ --accent-dim: rgba(0,240,255,0.12);
34
+ --accent-glow: rgba(0,240,255,0.06);
35
+
36
+ --success: #00e676;
37
+ --success-dim: rgba(0,230,118,0.12);
38
+ --warning: #ffab00;
39
+ --warning-dim: rgba(255,171,0,0.12);
40
+ --error: #ff1744;
41
+ --error-dim: rgba(255,23,68,0.12);
42
+ --info: #448aff;
43
+ --info-dim: rgba(68,138,255,0.12);
44
+
45
+ --sidebar-w: 260px;
46
+ --sidebar-collapsed: 68px;
47
+ --header-h: 56px;
48
+ --radius-sm: 6px;
49
+ --radius-md: 10px;
50
+ --radius-lg: 14px;
51
+
52
+ --font-display: 'Space Grotesk', sans-serif;
53
+ --font-mono: 'JetBrains Mono', monospace;
54
+
55
+ --transition-fast: 150ms cubic-bezier(0.4,0,0.2,1);
56
+ --transition-med: 280ms cubic-bezier(0.4,0,0.2,1);
57
+ --transition-slow: 500ms cubic-bezier(0.4,0,0.2,1);
58
+ }
59
+
60
+ /* ═══════════════════════════════════════════════
61
+ RESET & BASE
62
+ ═══════════════════════════════════════════════ */
63
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
64
+
65
+ html {
66
+ font-size: 14px;
67
+ scroll-behavior: smooth;
68
+ -webkit-font-smoothing: antialiased;
69
+ -moz-osx-font-smoothing: grayscale;
70
+ }
71
+
72
+ body {
73
+ font-family: var(--font-display);
74
+ background: var(--bg-deep);
75
+ color: var(--text-primary);
76
+ min-height: 100vh;
77
+ overflow-x: hidden;
78
+ }
79
+
80
+ /* Subtle grid pattern background */
81
+ body::before {
82
+ content: '';
83
+ position: fixed;
84
+ inset: 0;
85
+ background-image:
86
+ linear-gradient(rgba(0,240,255,0.015) 1px, transparent 1px),
87
+ linear-gradient(90deg, rgba(0,240,255,0.015) 1px, transparent 1px);
88
+ background-size: 60px 60px;
89
+ pointer-events: none;
90
+ z-index: 0;
91
+ }
92
+
93
+ /* Ambient glow top-right */
94
+ body::after {
95
+ content: '';
96
+ position: fixed;
97
+ top: -200px;
98
+ right: -200px;
99
+ width: 600px;
100
+ height: 600px;
101
+ background: radial-gradient(circle, rgba(0,240,255,0.04) 0%, transparent 70%);
102
+ pointer-events: none;
103
+ z-index: 0;
104
+ }
105
+
106
+ ::-webkit-scrollbar { width: 6px; height: 6px; }
107
+ ::-webkit-scrollbar-track { background: transparent; }
108
+ ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 3px; }
109
+ ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.14); }
110
+
111
+ ::selection { background: rgba(0,240,255,0.2); color: #fff; }
112
+
113
+ /* ═══════════════════════════════════════════════
114
+ LAYOUT STRUCTURE
115
+ ═══════════════════════════════════════════════ */
116
+ .app-layout {
117
+ display: flex;
118
+ min-height: 100vh;
119
+ position: relative;
120
+ z-index: 1;
121
+ }
122
+
123
+ /* ── SIDEBAR ── */
124
+ .sidebar {
125
+ width: var(--sidebar-w);
126
+ min-height: 100vh;
127
+ background: var(--bg-primary);
128
+ border-right: 1px solid var(--border-subtle);
129
+ display: flex;
130
+ flex-direction: column;
131
+ position: fixed;
132
+ top: 0;
133
+ left: 0;
134
+ z-index: 100;
135
+ transition: transform var(--transition-slow), width var(--transition-slow);
136
+ }
137
+
138
+ .sidebar-brand {
139
+ padding: 18px 20px;
140
+ border-bottom: 1px solid var(--border-dim);
141
+ display: flex;
142
+ align-items: center;
143
+ gap: 12px;
144
+ min-height: var(--header-h);
145
+ }
146
+
147
+ .brand-icon {
148
+ width: 34px;
149
+ height: 34px;
150
+ background: linear-gradient(135deg, var(--accent), #0080ff);
151
+ border-radius: var(--radius-sm);
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ font-size: 16px;
156
+ color: #000;
157
+ font-weight: 700;
158
+ flex-shrink: 0;
159
+ box-shadow: 0 0 20px rgba(0,240,255,0.15);
160
+ }
161
+
162
+ .brand-text {
163
+ display: flex;
164
+ flex-direction: column;
165
+ line-height: 1.2;
166
+ }
167
+
168
+ .brand-name {
169
+ font-weight: 700;
170
+ font-size: 15px;
171
+ letter-spacing: 0.5px;
172
+ color: var(--text-primary);
173
+ }
174
+
175
+ .brand-sub {
176
+ font-size: 10px;
177
+ color: var(--text-muted);
178
+ letter-spacing: 2px;
179
+ text-transform: uppercase;
180
+ font-family: var(--font-mono);
181
+ }
182
+
183
+ .sidebar-nav {
184
+ flex: 1;
185
+ padding: 12px 10px;
186
+ overflow-y: auto;
187
+ }
188
+
189
+ .nav-section-label {
190
+ font-size: 9px;
191
+ font-weight: 600;
192
+ letter-spacing: 2.5px;
193
+ text-transform: uppercase;
194
+ color: var(--text-muted);
195
+ padding: 16px 12px 6px;
196
+ font-family: var(--font-mono);
197
+ }
198
+
199
+ .nav-item {
200
+ display: flex;
201
+ align-items: center;
202
+ gap: 12px;
203
+ padding: 10px 14px;
204
+ border-radius: var(--radius-sm);
205
+ color: var(--text-secondary);
206
+ cursor: pointer;
207
+ transition: all var(--transition-fast);
208
+ font-size: 13px;
209
+ font-weight: 500;
210
+ position: relative;
211
+ user-select: none;
212
+ }
213
+
214
+ .nav-item i {
215
+ width: 18px;
216
+ text-align: center;
217
+ font-size: 14px;
218
+ flex-shrink: 0;
219
+ }
220
+
221
+ .nav-item:hover {
222
+ background: rgba(255,255,255,0.04);
223
+ color: var(--text-primary);
224
+ }
225
+
226
+ .nav-item.active {
227
+ background: var(--accent-dim);
228
+ color: var(--accent);
229
+ }
230
+
231
+ .nav-item.active::before {
232
+ content: '';
233
+ position: absolute;
234
+ left: 0;
235
+ top: 50%;
236
+ transform: translateY(-50%);
237
+ width: 3px;
238
+ height: 20px;
239
+ background: var(--accent);
240
+ border-radius: 0 3px 3px 0;
241
+ }
242
+
243
+ .nav-badge {
244
+ margin-left: auto;
245
+ font-size: 10px;
246
+ font-family: var(--font-mono);
247
+ padding: 2px 7px;
248
+ border-radius: 10px;
249
+ font-weight: 600;
250
+ }
251
+
252
+ .nav-badge.info { background: var(--info-dim); color: var(--info); }
253
+ .nav-badge.error { background: var(--error-dim); color: var(--error); }
254
+ .nav-badge.success { background: var(--success-dim); color: var(--success); }
255
+
256
+ .sidebar-footer {
257
+ padding: 14px 16px;
258
+ border-top: 1px solid var(--border-dim);
259
+ display: flex;
260
+ align-items: center;
261
+ gap: 10px;
262
+ }
263
+
264
+ .avatar {
265
+ width: 32px;
266
+ height: 32px;
267
+ border-radius: 50%;
268
+ background: linear-gradient(135deg, #1a1c2e, #2a2d44);
269
+ border: 1.5px solid var(--border-medium);
270
+ display: flex;
271
+ align-items: center;
272
+ justify-content: center;
273
+ font-size: 13px;
274
+ color: var(--text-secondary);
275
+ flex-shrink: 0;
276
+ }
277
+
278
+ .user-info {
279
+ display: flex;
280
+ flex-direction: column;
281
+ line-height: 1.3;
282
+ }
283
+
284
+ .user-name { font-size: 12px; font-weight: 600; color: var(--text-primary); }
285
+ .user-role { font-size: 10px; color: var(--text-muted); font-family: var(--font-mono); }
286
+
287
+ /* ── MAIN CONTENT ── */
288
+ .main-content {
289
+ flex: 1;
290
+ margin-left: var(--sidebar-w);
291
+ display: flex;
292
+ flex-direction: column;
293
+ min-height: 100vh;
294
+ transition: margin-left var(--transition-slow);
295
+ }
296
+
297
+ /* ── TOP HEADER ── */
298
+ .top-header {
299
+ height: var(--header-h);
300
+ background: rgba(10,12,18,0.8);
301
+ backdrop-filter: blur(20px);
302
+ -webkit-backdrop-filter: blur(20px);
303
+ border-bottom: 1px solid var(--border-dim);
304
+ display: flex;
305
+ align-items: center;
306
+ padding: 0 24px;
307
+ gap: 16px;
308
+ position: sticky;
309
+ top: 0;
310
+ z-index: 50;
311
+ }
312
+
313
+ .mobile-toggle {
314
+ display: none;
315
+ background: none;
316
+ border: none;
317
+ color: var(--text-secondary);
318
+ font-size: 18px;
319
+ cursor: pointer;
320
+ padding: 6px;
321
+ }
322
+
323
+ .header-search {
324
+ flex: 1;
325
+ max-width: 420px;
326
+ position: relative;
327
+ }
328
+
329
+ .header-search input {
330
+ width: 100%;
331
+ background: var(--bg-input);
332
+ border: 1px solid var(--border-subtle);
333
+ border-radius: var(--radius-sm);
334
+ padding: 8px 14px 8px 36px;
335
+ color: var(--text-primary);
336
+ font-size: 13px;
337
+ font-family: var(--font-display);
338
+ outline: none;
339
+ transition: border-color var(--transition-fast);
340
+ }
341
+
342
+ .header-search input::placeholder { color: var(--text-muted); }
343
+ .header-search input:focus { border-color: var(--border-accent); }
344
+
345
+ .header-search i {
346
+ position: absolute;
347
+ left: 12px;
348
+ top: 50%;
349
+ transform: translateY(-50%);
350
+ color: var(--text-muted);
351
+ font-size: 13px;
352
+ }
353
+
354
+ .header-actions {
355
+ display: flex;
356
+ align-items: center;
357
+ gap: 6px;
358
+ margin-left: auto;
359
+ }
360
+
361
+ .header-btn {
362
+ width: 36px;
363
+ height: 36px;
364
+ border-radius: var(--radius-sm);
365
+ border: 1px solid var(--border-subtle);
366
+ background: transparent;
367
+ color: var(--text-secondary);
368
+ cursor: pointer;
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: center;
372
+ font-size: 14px;
373
+ transition: all var(--transition-fast);
374
+ position: relative;
375
+ }
376
+
377
+ .header-btn:hover {
378
+ background: rgba(255,255,255,0.04);
379
+ color: var(--text-primary);
380
+ border-color: var(--border-medium);
381
+ }
382
+
383
+ .header-btn .dot {
384
+ position: absolute;
385
+ top: 7px;
386
+ right: 7px;
387
+ width: 6px;
388
+ height: 6px;
389
+ border-radius: 50%;
390
+ background: var(--error);
391
+ border: 1.5px solid var(--bg-primary);
392
+ }
393
+
394
+ .anycoder-link {
395
+ font-size: 11px;
396
+ font-family: var(--font-mono);
397
+ color: var(--text-muted);
398
+ text-decoration: none;
399
+ padding: 5px 10px;
400
+ border: 1px solid var(--border-dim);
401
+ border-radius: var(--radius-sm);
402
+ transition: all var(--transition-fast);
403
+ white-space: nowrap;
404
+ }
405
+
406
+ .anycoder-link:hover {
407
+ color: var(--accent);
408
+ border-color: var(--border-accent);
409
+ background: var(--accent-dim);
410
+ }
411
+
412
+ /* ── PAGE CONTENT ── */
413
+ .page-content {
414
+ flex: 1;
415
+ padding: 24px;
416
+ }
417
+
418
+ .page-title-row {
419
+ display: flex;
420
+ align-items: center;
421
+ justify-content: space-between;
422
+ margin-bottom: 24px;
423
+ flex-wrap: wrap;
424
+ gap: 12px;
425
+ }
426
+
427
+ .page-title {
428
+ font-size: 22px;
429
+ font-weight: 700;
430
+ letter-spacing: -0.3px;
431
+ }
432
+
433
+ .page-title span { color: var(--accent); }
434
+
435
+ .page-subtitle {
436
+ font-size: 12px;
437
+ color: var(--text-muted);
438
+ margin-top: 2px;
439
+ font-family: var(--font-mono);
440
+ }
441
+
442
+ /* ── STATUS BAR ── */
443
+ .status-bar {
444
+ display: flex;
445
+ gap: 12px;
446
+ margin-bottom: 24px;
447
+ flex-wrap: wrap;
448
+ }
449
+
450
+ .status-chip {
451
+ display: flex;
452
+ align-items: center;
453
+ gap: 8px;
454
+ padding: 8px 14px;
455
+ background: var(--bg-card);
456
+ border: 1px solid var(--border-subtle);
457
+ border-radius: 20px;
458
+ font-size: 12px;
459
+ font-family: var(--font-mono);
460
+ color: var(--text-secondary);
461
+ }
462
+
463
+ .status-dot {
464
+ width: 7px;
465
+ height: 7px;
466
+ border-radius: 50%;
467
+ flex-shrink: 0;
468
+ }
469
+
470
+ .status-dot.online { background: var(--success); box-shadow: 0 0 8px rgba(0,230,118,0.4); }
471
+ .status-dot.offline { background: var(--error); }
472
+ .status-dot.idle { background: var(--warning); }
473
+
474
+ /* ── DASHBOARD GRID ── */
475
+ .dashboard-grid {
476
+ display: grid;
477
+ grid-template-columns: repeat(4, 1fr);
478
+ gap: 16px;
479
+ }
480
+
481
+ /* ── PANEL CARD ── */
482
+ .panel {
483
+ background: var(--bg-card);
484
+ border: 1px solid var(--border-subtle);
485
+ border-radius: var(--radius-lg);
486
+ overflow: hidden;
487
+ transition: border-color var(--transition-med), box-shadow var(--transition-med);
488
+ display: flex;
489
+ flex-direction: column;
490
+ }
491
+
492
+ .panel:hover {
493
+ border-color: var(--border-medium);
494
+ box-shadow: 0 4px 30px rgba(0,0,0,0.3);
495
+ }
496
+
497
+ .panel-header {
498
+ padding: 16px 18px 12px;
499
+ display: flex;
500
+ align-items: center;
501
+ gap: 10px;
502
+ border-bottom: 1px solid var(--border-dim);
503
+ }
504
+
505
+ .panel-icon {
506
+ width: 32px;
507
+ height: 32px;
508
+ border-radius: var(--radius-sm);
509
+ display: flex;
510
+ align-items: center;
511
+ justify-content: center;
512
+ font-size: 14px;
513
+ flex-shrink: 0;
514
+ }
515
+
516
+ .panel-icon.cyan { background: var(--accent-dim); color: var(--accent); }
517
+ .panel-icon.green { background: var(--success-dim); color: var(--success); }
518
+ .panel-icon.orange { background: var(--warning-dim); color: var(--warning); }
519
+ .panel-icon.red { background: var(--error-dim); color: var(--error); }
520
+ .panel-icon.blue { background: var(--info-dim); color: var(--info); }
521
+ .panel-icon.purple { background: rgba(156,39,176,0.12); color: #ce93d8; }
522
+
523
+ .panel-title-group { flex: 1; min-width: 0; }
524
+
525
+ .panel-title {
526
+ font-size: 13px;
527
+ font-weight: 600;
528
+ color: var(--text-primary);
529
+ line-height: 1.3;
530
+ }
531
+
532
+ .panel-desc {
533
+ font-size: 10px;
534
+ color: var(--text-muted);
535
+ font-family: var(--font-mono);
536
+ margin-top: 1px;
537
+ }
538
+
539
+ .panel-status {
540
+ font-size: 9px;
541
+ font-family: var(--font-mono);
542
+ padding: 3px 8px;
543
+ border-radius: 10px;
544
+ font-weight: 600;
545
+ text-transform: uppercase;
546
+ letter-spacing: 0.5px;
547
+ white-space: nowrap;
548
+ }
549
+
550
+ .panel-status.active { background: var(--success-dim); color: var(--success); }
551
+ .panel-status.standby { background: var(--warning-dim); color: var(--warning); }
552
+ .panel-status.offline { background: var(--error-dim); color: var(--error); }
553
+ .panel-status.ready { background: var(--accent-dim); color: var(--accent); }
554
+
555
+ .panel-body {
556
+ padding: 16px 18px;
557
+ flex: 1;
558
+ display: flex;
559
+ flex-direction: column;
560
+ gap: 12px;
561
+ }
562
+
563
+ .panel-footer {
564
+ padding: 12px 18px;
565
+ border-top: 1px solid var(--border-dim);
566
+ display: flex;
567
+ gap: 8px;
568
+ flex-wrap: wrap;
569
+ }
570
+
571
+ /* ── BUTTONS ── */
572
+ .btn {
573
+ display: inline-flex;
574
+ align-items: center;
575
+ gap: 6px;
576
+ padding: 7px 14px;
577
+ border-radius: var(--radius-sm);
578
+ font-size: 11px;
579
+ font-weight: 600;
580
+ font-family: var(--font-display);
581
+ cursor: pointer;
582
+ border: 1px solid transparent;
583
+ transition: all var(--transition-fast);
584
+ white-space: nowrap;
585
+ user-select: none;
586
+ }
587
+
588
+ .btn i { font-size: 11px; }
589
+
590
+ .btn-primary {
591
+ background: var(--accent);
592
+ color: #000;
593
+ border-color: var(--accent);
594
+ }
595
+ .btn-primary:hover { background: #33f5ff; box-shadow: 0 0 16px rgba(0,240,255,0.25); }
596
+
597
+ .btn-ghost {
598
+ background: transparent;
599
+ color: var(--text-secondary);
600
+ border-color: var(--border-medium);
601
+ }
602
+ .btn-ghost:hover { background: rgba(255,255,255,0.04); color: var(--text-primary); }
603
+
604
+ .btn-danger {
605
+ background: var(--error-dim);
606
+ color: var(--error);
607
+ border-color: rgba(255,23,68,0.2);
608
+ }
609
+ .btn-danger:hover { background: rgba(255,23,68,0.18); }
610
+
611
+ .btn-sm { padding: 5px 10px; font-size: 10px; }
612
+ .btn-sm i { font-size: 10px; }
613
+
614
+ .btn:disabled {
615
+ opacity: 0.35;
616
+ cursor: not-allowed;
617
+ }
618
+
619
+ .backend-tag {
620
+ font-size: 8px;
621
+ font-family: var(--font-mono);
622
+ background: rgba(255,171,0,0.12);
623
+ color: var(--warning);
624
+ padding: 2px 6px;
625
+ border-radius: 3px;
626
+ letter-spacing: 0.5px;
627
+ text-transform: uppercase;
628
+ font-weight: 600;
629
+ }
630
+
631
+ /* ── FORM ELEMENTS ── */
632
+ .input-group { display: flex; flex-direction: column; gap: 4px; }
633
+
634
+ .input-label {
635
+ font-size: 10px;
636
+ font-weight: 600;
637
+ color: var(--text-muted);
638
+ text-transform: uppercase;
639
+ letter-spacing: 1px;
640
+ font-family: var(--font-mono);
641
+ }
642
+
643
+ .input-field {
644
+ background: var(--bg-input);
645
+ border: 1px solid var(--border-subtle);
646
+ border-radius: var(--radius-sm);
647
+ padding: 8px 12px;
648
+ color: var(--text-primary);
649
+ font-size: 12px;
650
+ font-family: var(--font-mono);
651
+ outline: none;
652
+ transition: border-color var(--transition-fast);
653
+ width: 100%;
654
+ }
655
+
656
+ .input-field::placeholder { color: var(--text-muted); }
657
+ .input-field:focus { border-color: var(--border-accent); }
658
+
659
+ select.input-field {
660
+ appearance: none;
661
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%234e5270' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
662
+ background-repeat: no-repeat;
663
+ background-position: right 10px center;
664
+ padding-right: 28px;
665
+ cursor: pointer;
666
+ }
667
+
668
+ /* ── TOGGLE SWITCH ── */
669
+ .toggle-row {
670
+ display: flex;
671
+ align-items: center;
672
+ justify-content: space-between;
673
+ gap: 10px;
674
+ }
675
+
676
+ .toggle-label {
677
+ font-size: 12px;
678
+ color: var(--text-secondary);
679
+ }
680
+
681
+ .toggle {
682
+ width: 36px;
683
+ height: 20px;
684
+ background: var(--bg-elevated);
685
+ border: 1px solid var(--border-medium);
686
+ border-radius: 10px;
687
+ cursor: pointer;
688
+ position: relative;
689
+ transition: all var(--transition-fast);
690
+ flex-shrink: 0;
691
+ }
692
+
693
+ .toggle::after {
694
+ content: '';
695
+ position: absolute;
696
+ top: 2px;
697
+ left: 2px;
698
+ width: 14px;
699
+ height: 14px;
700
+ border-radius: 50%;
701
+ background: var(--text-muted);
702
+ transition: all var(--transition-fast);
703
+ }
704
+
705
+ .toggle.on {
706
+ background: var(--accent-dim);
707
+ border-color: var(--border-accent);
708
+ }
709
+
710
+ .toggle.on::after {
711
+ left: 18px;
712
+ background: var(--accent);
713
+ }
714
+
715
+ /* ── PROGRESS BAR ── */
716
+ .progress-row {
717
+ display: flex;
718
+ flex-direction: column;
719
+ gap: 5px;
720
+ }
721
+
722
+ .progress-label {
723
+ display: flex;
724
+ justify-content: space-between;
725
+ font-size: 11px;
726
+ }
727
+
728
+ .progress-label span:first-child { color: var(--text-secondary); }
729
+ .progress-label span:last-child { color: var(--text-muted); font-family: var(--font-mono); font-size: 10px; }
730
+
731
+ .progress-track {
732
+ height: 4px;
733
+ background: var(--bg-elevated);
734
+ border-radius: 2px;
735
+ overflow: hidden;
736
+ }
737
+
738
+ .progress-fill {
739
+ height: 100%;
740
+ border-radius: 2px;
741
+ transition: width var(--transition-slow);
742
+ }
743
+
744
+ .progress-fill.cyan { background: var(--accent); }
745
+ .progress-fill.green { background: var(--success); }
746
+ .progress-fill.orange { background: var(--warning); }
747
+
748
+ /* ── LOG ENTRIES ── */
749
+ .log-list {
750
+ display: flex;
751
+ flex-direction: column;
752
+ gap: 6px;
753
+ max-height: 220px;
754
+ overflow-y: auto;
755
+ font-family: var(--font-mono);
756
+ font-size: 11px;
757
+ }
758
+
759
+ .log-entry {
760
+ display: flex;
761
+ gap: 8px;
762
+ padding: 6px 8px;
763
+ border-radius: var(--radius-sm);
764
+ background: rgba(255,255,255,0.015);
765
+ align-items: flex-start;
766
+ line-height: 1.4;
767
+ }
768
+
769
+ .log-time {
770
+ color: var(--text-muted);
771
+ font-size: 10px;
772
+ flex-shrink: 0;
773
+ min-width: 52px;
774
+ }
775
+
776
+ .log-level {
777
+ font-size: 9px;
778
+ font-weight: 700;
779
+ padding: 1px 5px;
780
+ border-radius: 3px;
781
+ text-transform: uppercase;
782
+ flex-shrink: 0;
783
+ }
784
+
785
+ .log-level.info { background: var(--info-dim); color: var(--info); }
786
+ .log-level.warn { background: var(--warning-dim); color: var(--warning); }
787
+ .log-level.error { background: var(--error-dim); color: var(--error); }
788
+ .log-level.ok { background: var(--success-dim); color: var(--success); }
789
+
790
+ .log-msg { color: var(--text-secondary); word-break: break-word; }
791
+
792
+ /* ── AGENT CARDS ── */
793
+ .agent-list {
794
+ display: flex;
795
+ flex-direction: column;
796
+ gap: 8px;
797
+ }
798
+
799
+ .agent-card {
800
+ display: flex;
801
+ align-items: center;
802
+ gap: 10px;
803
+ padding: 10px 12px;
804
+ background: rgba(255,255,255,0.02);
805
+ border: 1px solid var(--border-dim);
806
+ border-radius: var(--radius-md);
807
+ transition: all var(--transition-fast);
808
+ }
809
+
810
+ .agent-card:hover {
811
+ background: rgba(255,255,255,0.04);
812
+ border-color: var(--border-subtle);
813
+ }
814
+
815
+ .agent-avatar {
816
+ width: 30px;
817
+ height: 30px;
818
+ border-radius: 50%;
819
+ display: flex;
820
+ align-items: center;
821
+ justify-content: center;
822
+ font-size: 12px;
823
+ flex-shrink: 0;
824
+ }
825
+
826
+ .agent-info { flex: 1; min-width: 0; }
827
+
828
+ .agent-name {
829
+ font-size: 12px;
830
+ font-weight: 600;
831
+ color: var(--text-primary);
832
+ }
833
+
834
+ .agent-task {
835
+ font-size: 10px;
836
+ color: var(--text-muted);
837
+ font-family: var(--font-mono);
838
+ white-space: nowrap;
839
+ overflow: hidden;
840
+ text-overflow: ellipsis;
841
+ }
842
+
843
+ .agent-state {
844
+ font-size: 9px;
845
+ font-family: var(--font-mono);
846
+ padding: 2px 7px;
847
+ border-radius: 8px;
848
+ font-weight: 600;
849
+ text-transform: uppercase;
850
+ }
851
+
852
+ .agent-state.running { background: var(--success-dim); color: var(--success); }
853
+ .agent-state.queued { background: var(--info-dim); color: var(--info); }
854
+ .agent-state.idle { background: rgba(255,255,255,0.05); color: var(--text-muted); }
855
+ .agent-state.error { background: var(--error-dim); color: var(--error); }
856
+
857
+ /* ── VOICE WAVEFORM ── */
858
+ .voice-visual {
859
+ height: 60px;
860
+ display: flex;
861
+ align-items: center;
862
+ justify-content: center;
863
+ gap: 3px;
864
+ padding: 0 10px;
865
+ }
866
+
867
+ .voice-bar {
868
+ width: 3px;
869
+ background: var(--accent);
870
+ border-radius: 2px;
871
+ transition: height 0.1s ease;
872
+ opacity: 0.6;
873
+ }
874
+
875
+ .voice-bar.active { opacity: 1; box-shadow: 0 0 6px rgba(0,240,255,0.3); }
876
+
877
+ /* ── MODEL ROUTER TABLE ── */
878
+ .model-table {
879
+ width: 100%;
880
+ border-collapse: collapse;
881
+ font-size: 11px;
882
+ }
883
+
884
+ .model-table th {
885
+ text-align: left;
886
+ padding: 6px 8px;
887
+ font-size: 9px;
888
+ font-weight: 600;
889
+ color: var(--text-muted);
890
+ text-transform: uppercase;
891
+ letter-spacing: 1px;
892
+ font-family: var(--font-mono);
893
+ border-bottom: 1px solid var(--border-dim);
894
+ }
895
+
896
+ .model-table td {
897
+ padding: 7px 8px;
898
+ color: var(--text-secondary);
899
+ border-bottom: 1px solid rgba(255,255,255,0.02);
900
+ font-family: var(--font-mono);
901
+ }
902
+
903
+ .model-table tr:hover td { background: rgba(255,255,255,0.015); }
904
+
905
+ .model-dot {
906
+ width: 6px;
907
+ height: 6px;
908
+ border-radius: 50%;
909
+ display: inline-block;
910
+ margin-right: 6px;
911
+ }
912
+
913
+ .model-dot.active { background: var(--success); }
914
+ .model-dot.fallback { background: var(--warning); }
915
+ .model-dot.off { background: var(--text-muted); }
916
+
917
+ /* ── INTEGRATION ROW ── */
918
+ .integration-item {
919
+ display: flex;
920
+ align-items: center;
921
+ gap: 10px;
922
+ padding: 10px 12px;
923
+ background: rgba(255,255,255,0.015);
924
+ border-radius: var(--radius-md);
925
+ border: 1px solid var(--border-dim);
926
+ }
927
+
928
+ .int-icon {
929
+ width: 28px;
930
+ height: 28px;
931
+ border-radius: var(--radius-sm);
932
+ display: flex;
933
+ align-items: center;
934
+ justify-content: center;
935
+ font-size: 13px;
936
+ flex-shrink: 0;
937
+ }
938
+
939
+ .int-info { flex: 1; }
940
+ .int-name { font-size: 12px; font-weight: 600; color: var(--text-primary); }
941
+ .int-detail { font-size: 10px; color: var(--text-muted); font-family: var(--font-mono); }
942
+
943
+ /* ── SETTINGS SECTION ── */
944
+ .settings-section {
945
+ display: none;
946
+ }
947
+
948
+ .settings-section.visible {
949
+ display: block;
950
+ }
951
+
952
+ .settings-group {
953
+ background: var(--bg-card);
954
+ border: 1px solid var(--border-subtle);
955
+ border-radius: var(--radius-lg);
956
+ overflow: hidden;
957
+ margin-bottom: 16px;
958
+ }
959
+
960
+ .settings-group-header {
961
+ padding: 14px 18px;
962
+ border-bottom: 1px solid var(--border-dim);
963
+ font-size: 13px;
964
+ font-weight: 600;
965
+ display: flex;
966
+ align-items: center;
967
+ gap: 8px;
968
+ }
969
+
970
+ .settings-group-header i { color: var(--text-muted); font-size: 14px; }
971
+
972
+ .settings-row {
973
+ display: flex;
974
+ align-items: center;
975
+ justify-content: space-between;
976
+ padding: 12px 18px;
977
+ border-bottom: 1px solid rgba(255,255,255,0.02);
978
+ gap: 12px;
979
+ }
980
+
981
+ .settings-row:last-child { border-bottom: none; }
982
+
983
+ .settings-row-label {
984
+ font-size: 12px;
985
+ color: var(--text-secondary);
986
+ }
987
+
988
+ .settings-row-sub {
989
+ font-size: 10px;
990
+ color: var(--text-muted);
991
+ font-family: var(--font-mono);
992
+ }
993
+
994
+ .api-key-field {
995
+ display: flex;
996
+ gap: 6px;
997
+ align-items: center;
998
+ }
999
+
1000
+ .api-key-field .input-field {
1001
+ width: 200px;
1002
+ font-size: 11px;
1003
+ }
1004
+
1005
+ /* ── METRIC TILES ── */
1006
+ .metric-tile {
1007
+ display: flex;
1008
+ flex-direction: column;
1009
+ gap: 2px;
1010
+ }
1011
+
1012
+ .metric-value {
1013
+ font-size: 20px;
1014
+ font-weight: 700;
1015
+ font-family: var(--font-mono);
1016
+ color: var(--text-primary);
1017
+ line-height: 1.2;
1018
+ }
1019
+
1020
+ .metric-label {
1021
+ font-size: 10px;
1022
+ color: var(--text-muted);
1023
+ text-transform: uppercase;
1024
+ letter-spacing: 1px;
1025
+ font-family: var(--font-mono);
1026
+ }
1027
+
1028
+ .metric-change {
1029
+ font-size: 10px;
1030
+ font-family: var(--font-mono);
1031
+ }
1032
+
1033
+ .metric-change.up { color: var(--success); }
1034
+ .metric-change.down { color: var(--error); }
1035
+
1036
+ /* ── GRID SPAN HELPERS ── */
1037
+ .col-span-2 { grid-column: span 2; }
1038
+ .col-span-3 { grid-column: span 3; }
1039
+ .col-span-4 { grid-column: span 4; }
1040
+
1041
+ /* ── SCROLL REVEAL ── */
1042
+ .panel {
1043
+ opacity: 0;
1044
+ transform: translateY(16px);
1045
+ animation: panelIn 0.5s ease forwards;
1046
+ }
1047
+
1048
+ @keyframes panelIn {
1049
+ to { opacity: 1; transform: translateY(0); }
1050
+ }
1051
+
1052
+ .panel:nth-child(1) { animation-delay: 0.05s; }
1053
+ .panel:nth-child(2) { animation-delay: 0.1s; }
1054
+ .panel:nth-child(3) { animation-delay: 0.15s; }
1055
+ .panel:nth-child(4) { animation-delay: 0.2s; }
1056
+ .panel:nth-child(5) { animation-delay: 0.25s; }
1057
+ .panel:nth-child(6) { animation-delay: 0.3s; }
1058
+ .panel:nth-child(7) { animation-delay: 0.35s; }
1059
+ .panel:nth-child(8) { animation-delay: 0.4s; }
1060
+
1061
+ /* ── PULSE ANIMATION ── */
1062
+ @keyframes pulse-dot {
1063
+ 0%, 100% { opacity: 1; }
1064
+ 50% { opacity: 0.4; }
1065
+ }
1066
+
1067
+ .pulse { animation: pulse-dot 2s ease-in-out infinite; }
1068
+
1069
+ /* ── SCANLINE EFFECT ── */
1070
+ .scanline-overlay {
1071
+ position: fixed;
1072
+ inset: 0;
1073
+ pointer-events: none;
1074
+ z-index: 999;
1075
+ background: repeating-linear-gradient(
1076
+ 0deg,
1077
+ transparent,
1078
+ transparent 2px,
1079
+ rgba(0,0,0,0.03) 2px,
1080
+ rgba(0,0,0,0.03) 4px
1081
+ );
1082
+ }
1083
+
1084
+ /* ── MOBILE OVERLAY ── */
1085
+ .sidebar-overlay {
1086
+ display: none;
1087
+ position: fixed;
1088
+ inset: 0;
1089
+ background: rgba(0,0,0,0.6);
1090
+ z-index: 90;
1091
+ }
1092
+
1093
+ .sidebar-overlay.active { display: block; }
1094
+
1095
+ /* ═══════════════════════════════════════════════
1096
+ RESPONSIVE
1097
+ ═══════════════════════════════════════════════ */
1098
+ @media (max-width: 1200px) {
1099
+ .dashboard-grid { grid-template-columns: repeat(2, 1fr); }
1100
+ .col-span-3 { grid-column: span 2; }
1101
+ .col-span-4 { grid-column: span 2; }
1102
+ }
1103
+
1104
+ @media (max-width: 768px) {
1105
+ .sidebar {
1106
+ transform: translateX(-100%);
1107
+ }
1108
+
1109
+ .sidebar.open {
1110
+ transform: translateX(0);
1111
+ }
1112
+
1113
+ .main-content {
1114
+ margin-left: 0;
1115
+ }
1116
+
1117
+ .mobile-toggle { display: flex; }
1118
+
1119
+ .dashboard-grid {
1120
+ grid-template-columns: 1fr;
1121
+ }
1122
+
1123
+ .col-span-2,
1124
+ .col-span-3,
1125
+ .col-span-4 { grid-column: span 1; }
1126
+
1127
+ .page-content { padding: 16px; }
1128
+
1129
+ .top-header { padding: 0 14px; }
1130
+
1131
+ .header-search { display: none; }
1132
+
1133
+ .api-key-field .input-field { width: 140px; }
1134
+
1135
+ .page-title { font-size: 18px; }
1136
+ }
1137
+
1138
+ @media (max-width: 480px) {
1139
+ .status-bar { gap: 8px; }
1140
+ .status-chip { font-size: 10px; padding: 6px 10px; }
1141
+ .panel-body { padding: 12px 14px; }
1142
+ .panel-header { padding: 12px 14px 10px; }
1143
+ .panel-footer { padding: 10px 14px; }
1144
+ }
1145
+
1146
+ /* ── PREFERS REDUCED MOTION ── */
1147
+ @media (prefers-reduced-motion: reduce) {
1148
+ *, *::before, *::after {
1149
+ animation-duration: 0.01ms !important;
1150
+ transition-duration: 0.01ms !important;
1151
+ }
1152
+ }
1153
+
1154
+ /* ── TOAST ── */
1155
+ .toast-container {
1156
+ position: fixed;
1157
+ bottom: 20px;
1158
+ right: 20px;
1159
+ z-index: 1000;
1160
+ display: flex;
1161
+ flex-direction: column;
1162
+ gap: 8px;
1163
+ }
1164
+
1165
+ .toast {
1166
+ padding: 10px 16px;
1167
+ background: var(--bg-elevated);
1168
+ border: 1px solid var(--border-medium);
1169
+ border-radius: var(--radius-md);
1170
+ font-size: 12px;
1171
+ color: var(--text-primary);
1172
+ font-family: var(--font-mono);
1173
+ display: flex;
1174
+ align-items: center;
1175
+ gap: 8px;
1176
+ box-shadow: 0 8px 32px rgba(0,0,0,0.4);
1177
+ animation: toastIn 0.3s ease;
1178
+ max-width: 340px;
1179
+ }
1180
+
1181
+ .toast.leaving { animation: toastOut 0.3s ease forwards; }
1182
+
1183
+ @keyframes toastIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
1184
+ @keyframes toastOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(10px); } }
1185
+
1186
+ /* ── TAB BAR (for settings) ── */
1187
+ .tab-bar {
1188
+ display: flex;
1189
+ gap: 2px;
1190
+ background: var(--bg-input);
1191
+ border-radius: var(--radius-sm);
1192
+ padding: 3px;
1193
+ margin-bottom: 20px;
1194
+ overflow-x: auto;
1195
+ }
1196
+
1197
+ .tab-item {
1198
+ padding: 7px 14px;
1199
+ font-size: 11px;
1200
+ font-weight: 600;
1201
+ color: var(--text-muted);
1202
+ border-radius: 4px;
1203
+ cursor: pointer;
1204
+ transition: all var(--transition-fast);
1205
+ white-space: nowrap;
1206
+ user-select: none;
1207
+ }
1208
+
1209
+ .tab-item:hover { color: var(--text-secondary); }
1210
+ .tab-item.active { background: var(--bg-elevated); color: var(--text-primary); }
1211
+
1212
+ /* ── BROWSER CONTROL PREVIEW ── */
1213
+ .browser-preview {
1214
+ width: 100%;
1215
+ aspect-ratio: 16/9;
1216
+ background: var(--bg-deep);
1217
+ border: 1px solid var(--border-dim);
1218
+ border-radius: var(--radius-sm);
1219
+ display: flex;
1220
+ align-items: center;
1221
+ justify-content: center;
1222
+ color: var(--text-muted);
1223
+ font-size: 11px;
1224
+ font-family: var(--font-mono);
1225
+ position: relative;
1226
+ overflow: hidden;
1227
+ }
1228
+
1229
+ .browser-preview::before {
1230
+ content: '';
1231
+ position: absolute;
1232
+ top: 0;
1233
+ left: 0;
1234
+ right: 0;
1235
+ height: 22px;
1236
+ background: var(--bg-elevated);
1237
+ border-bottom: 1px solid var(--border-dim);
1238
+ }
1239
+
1240
+ .browser-dots {
1241
+ position: absolute;
1242
+ top: 6px;
1243
+ left: 8px;
1244
+ display: flex;
1245
+ gap: 4px;
1246
+ }
1247
+
1248
+ .browser-dots span {
1249
+ width: 7px;
1250
+ height: 7px;
1251
+ border-radius: 50%;
1252
+ background: var(--text-muted);
1253
+ opacity: 0.3;
1254
+ }
1255
+
1256
+ .browser-url {
1257
+ position: absolute;
1258
+ top: 3px;
1259
+ left: 36px;
1260
+ right: 8px;
1261
+ height: 16px;
1262
+ background: var(--bg-deep);
1263
+ border-radius: 3px;
1264
+ font-size: 8px;
1265
+ display: flex;
1266
+ align-items: center;
1267
+ padding: 0 6px;
1268
+ color: var(--text-muted);
1269
+ }
1270
+
1271
+ /* ── MEMORY GRAPH (CSS-only visual) ── */
1272
+ .memory-graph {
1273
+ display: flex;
1274
+ align-items: flex-end;
1275
+ gap: 2px;
1276
+ height: 50px;
1277
+ padding: 0 4px;
1278
+ }
1279
+
1280
+ .memory-bar {
1281
+ flex: 1;
1282
+ background: linear-gradient(to top, var(--accent), rgba(0,240,255,0.3));
1283
+ border-radius: 2px 2px 0 0;
1284
+ min-width: 4px;
1285
+ transition: height var(--transition-fast);
1286
+ }
1287
+
1288
+ /* ── KEY VALUE DISPLAY ── */
1289
+ .kv-list {
1290
+ display: flex;
1291
+ flex-direction: column;
1292
+ gap: 6px;
1293
+ }
1294
+
1295
+ .kv-row {
1296
+ display: flex;
1297
+ justify-content: space-between;
1298
+ align-items: center;
1299
+ gap: 8px;
1300
+ }
1301
+
1302
+ .kv-key {
1303
+ font-size: 11px;
1304
+ color: var(--text-muted);
1305
+ font-family: var(--font-mono);
1306
+ }
1307
+
1308
+ .kv-val {
1309
+ font-size: 11px;
1310
+ color: var(--text-secondary);
1311
+ font-family: var(--font-mono);
1312
+ text-align: right;
1313
+ }
1314
+ </style>
1315
+ </head>
1316
+ <body>
1317
+
1318
+ <div class="scanline-overlay" aria-hidden="true"></div>
1319
+
1320
+ <div class="app-layout