.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}@font-face{font-family:Orbitron;src:url(/fonts/orbitron/Orbitron-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Orbitron;src:url(/fonts/orbitron/Orbitron-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani/Rajdhani-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani/Rajdhani-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani/Rajdhani-Bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{--bg-primary:#0a0e17;--bg-secondary:#0d1321;--bg-tertiary:#111827;--bg-panel:#0d1321d9;--accent-cyan:#00e5ff;--accent-orange:#ff6b35;--accent-green:#0f8;--accent-red:#f36;--accent-yellow:gold;--accent-purple:#a855f7;--text-primary:#e0e6ed;--text-secondary:#89a;--text-muted:#567;--text-highlight:#00e5ff;--border-default:#00e5ff26;--border-active:#00e5ff80;--border-glow:0 0 10px #00e5ff4d;--font-display:"Orbitron", monospace;--font-data:"JetBrains Mono", monospace;--font-ui:"Rajdhani", sans-serif;--gap-sm:4px;--gap-md:8px;--gap-lg:16px;--gap-xl:24px;--panel-radius:4px;--panel-padding:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);width:100vw;min-height:100vh;overflow-y:auto}#root{width:100vw;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}body.electron-app{padding-top:32px}.dashboard-grid{gap:var(--gap-md);min-height:100vh;padding:var(--gap-md);background:var(--bg-primary);grid-template:"header header header"48px"left orbital right"1fr"modules actions projects""console console console"140px"downloads downloads downloads"/220px 1fr 220px;display:grid}.zone-header{grid-area:header}.zone-left{gap:var(--gap-md);flex-direction:column;grid-area:left;display:flex;overflow-y:auto}.zone-orbital{grid-area:orbital;position:relative;overflow:hidden}.zone-right{gap:var(--gap-md);flex-direction:column;grid-area:right;display:flex;overflow-y:auto}.zone-modules{grid-area:modules;overflow-y:auto}.zone-actions{grid-area:actions}.zone-projects{grid-area:projects}.zone-console{grid-area:console}.zone-downloads{grid-area:downloads}@media (width<=768px){.dashboard-grid{grid-template:"header""orbital""left""right""modules""actions""projects""console"/1fr;height:auto;overflow-y:auto}}@media (width<=1024px){.dashboard-grid{grid-template:"header""left""orbital""right""modules""actions""projects""console"/1fr;height:auto;min-height:100vh}.zone-orbital{min-height:250px}}@media (width<=768px){.dashboard-grid{gap:4px;padding:4px}.zone-header{padding:0 8px}.zone-orbital{min-height:200px}.panel{padding:8px}.panel-title{font-size:10px}.metric-value{font-size:14px}.metric-label{font-size:8px}}@media (width<=480px){.zone-orbital{min-height:150px}.badge{padding:1px 4px;font-size:7px}}.panel{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--panel-radius);padding:var(--panel-padding);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:2px;color:var(--accent-cyan);margin-bottom:var(--gap-md);align-items:center;gap:var(--gap-sm);font-size:10px;display:flex}.panel-title svg{width:14px;height:14px;stroke:var(--accent-cyan)}.metric-value{font-family:var(--font-data);color:var(--text-primary);font-size:14px}.metric-label{font-family:var(--font-ui);color:var(--text-secondary);text-transform:uppercase;font-size:11px}.progress-bar{background:var(--bg-tertiary);border-radius:3px;height:6px;margin:4px 0;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .3s,background .3s}.progress-fill.green{background:linear-gradient(90deg, var(--accent-green), #0c6)}.progress-fill.orange{background:linear-gradient(90deg, var(--accent-orange), #f94)}.progress-fill.red{background:linear-gradient(90deg, var(--accent-red), #f68)}.progress-fill.cyan{background:linear-gradient(90deg, var(--accent-cyan), #0ac)}.badge{font-family:var(--font-data);text-transform:uppercase;letter-spacing:1px;border-radius:2px;padding:2px 6px;font-size:10px}.badge-active{color:var(--accent-green);background:#00ff8826;border:1px solid #00ff884d}.badge-off{color:var(--text-muted);background:#55667726;border:1px solid #5566774d}.badge-warning{color:var(--accent-yellow);background:#ffd70026;border:1px solid #ffd7004d;animation:2s ease-in-out infinite pulse-badge}.badge-critical{color:var(--accent-red);background:#ff336626;border:1px solid #ff33664d;animation:1s ease-in-out infinite pulse-badge}.badge-ready{color:var(--accent-cyan);background:#00e5ff26;border:1px solid #00e5ff4d}.badge-unknown{color:var(--text-muted);background:#5566771a;border:1px solid #5673}.badge-stale{color:var(--accent-yellow);background:#ffd7001a;font-size:9px}.badge-loading{color:var(--accent-cyan);animation:1.5s ease-in-out infinite blink}.badge-error{color:var(--accent-red);background:#f363}.badge-nodata{color:var(--accent-red);font-weight:700}.freshness-dot{border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block}.freshness-dot.fresh{background:var(--accent-green);box-shadow:0 0 4px var(--accent-green)}.freshness-dot.stale{background:var(--accent-yellow)}.freshness-dot.dead{background:var(--accent-red)}.action-btn{border:1px solid var(--accent-cyan);color:var(--accent-cyan);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:1px;border-radius:var(--panel-radius);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 12px;font-size:12px;transition:all .2s;display:flex}.action-btn:hover{box-shadow:var(--border-glow);background:#00e5ff1a}.action-btn.warning{border-color:var(--accent-yellow);color:var(--accent-yellow)}.action-btn.warning:hover{background:#ffd7001a}.action-btn.danger{border-color:var(--accent-red);color:var(--accent-red)}.action-btn.danger:hover{background:#ff33661a}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px #00e5ff4d}50%{box-shadow:0 0 20px #00e5ff99}}.sparkline{width:100%;height:30px}.console-container{font-family:var(--font-data);border:1px solid var(--border-default);border-radius:var(--panel-radius);background:#000;height:100%;padding:8px;font-size:11px;overflow-y:auto}.console-line{gap:8px;line-height:1.6;display:flex}.console-ts{color:var(--text-muted);min-width:70px}.console-module{color:var(--accent-cyan);min-width:80px}.console-msg{color:var(--text-primary)}.console-severity-info{color:var(--accent-green)}.console-severity-warn{color:var(--accent-yellow)}.console-severity-error{color:var(--accent-red)}.console-severity-critical{color:var(--accent-red);background:#ff33661a;font-weight:700}
