@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-root: #0a0e1a;--bg-surface: #111827;--bg-card: rgba(17, 24, 39, .7);--bg-card-hover: rgba(31, 41, 55, .8);--bg-input: rgba(17, 24, 39, .6);--bg-glass: rgba(255, 255, 255, .03);--accent: #6366f1;--accent-hover: #818cf8;--accent-subtle: rgba(99, 102, 241, .15);--accent-glow: rgba(99, 102, 241, .4);--success: #22c55e;--success-subtle: rgba(34, 197, 94, .15);--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-subtle: rgba(239, 68, 68, .15);--info: #3b82f6;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--border-accent: rgba(99, 102, 241, .3);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-glow);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-collapsed: 72px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-root);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}h1{font-size:1.85rem;font-weight:800;letter-spacing:-.02em}h2{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}h3{font-size:1.15rem;font-weight:600}h4{font-size:1rem;font-weight:600}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);padding:15px}.glass-card:hover{border-color:var(--border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--border-hover);background:#374151cc}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 0 20px #ef444466}.btn-success{background:var(--success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background:#16a34a}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-glass)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-icon{padding:8px;width:36px;height:36px}.btn-icon.sm{width:30px;height:30px;padding:5px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.input{padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.9rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.input::placeholder{color:var(--text-muted)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.port-tag{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:.7rem;font-weight:600;background:var(--accent-subtle);color:var(--accent-hover);font-family:JetBrains Mono,monospace}.port-create-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md)}.port-create-label{display:flex;align-items:center;gap:6px;min-width:140px}.port-create-select{flex:1;padding:6px 10px!important;font-family:JetBrains Mono,monospace!important;font-size:.78rem!important}.port-def-row{display:flex;align-items:center;gap:8px}.port-def-index{min-width:28px;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-success,.badge-online{background:var(--success-subtle);color:var(--success)}.badge-offline{background:#64748b26;color:var(--text-muted)}.badge-suspended{background:var(--danger-subtle);color:var(--danger)}.badge-installing{background:var(--warning-subtle);color:var(--warning)}.badge-starting{background:var(--accent-subtle);color:var(--accent)}.status-dot.starting{background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse-starting 2s infinite}@keyframes pulse-starting{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}to{transform:scale(1);opacity:1}}.badge-admin{background:var(--accent-subtle);color:var(--accent-hover)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.data-table tbody td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:.875rem;color:var(--text-secondary);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-glass)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.online{background:var(--success);box-shadow:0 0 6px var(--success)}.status-dot.offline{background:var(--text-muted)}.status-dot.suspended{background:var(--danger);box-shadow:0 0 6px var(--danger)}.status-dot.installing{background:var(--warning);box-shadow:0 0 6px var(--warning);animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade{animation:fadeIn .35s ease-out}.animate-slide{animation:slideIn .3s ease-out}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.spinner-lg{width:40px;height:40px;border-width:3px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-muted);gap:12px}.empty-state svg{opacity:.3}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.page-header h1{background:linear-gradient(135deg,var(--text-primary),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.text-primary{color:var(--text-primary)}.text-muted{color:var(--text-muted)}.text-mono{font-family:monospace;font-size:.8rem}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.8rem}.text-xs{font-size:.72rem}.mt-1{margin-top:4px}.gap-sm{gap:6px}.flex-end{justify-content:flex-end}.flex-row{display:flex;align-items:center}.no-pad{padding:0}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:400px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);pointer-events:all;border:1px solid var(--border);font-size:.85rem;color:var(--text-primary)}.toast-success{background:#22c55e1f;border-color:#22c55e40}.toast-success .toast-icon{color:var(--success)}.toast-error{background:#ef44441f;border-color:#ef444440}.toast-error .toast-icon{color:var(--danger)}.toast-warning{background:#f59e0b1f;border-color:#f59e0b40}.toast-warning .toast-icon{color:var(--warning)}.toast-info{background:#6366f11f;border-color:#6366f140}.toast-info .toast-icon{color:var(--accent-hover)}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;transition:color var(--transition-fast)}.toast-close:hover{color:var(--text-primary)}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:32px 40px;max-width:100%;overflow-x:hidden;animation:fadeIn .3s ease-out}@media(max-width:768px){.main-content{margin-left:0;padding:70px 16px 20px}}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,#0f172af7,#0a0e1afc);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.sidebar-logo{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;box-shadow:var(--shadow-glow)}.sidebar-title{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-section{margin-top:20px;margin-bottom:8px;padding:0 12px;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);text-decoration:none;position:relative}.sidebar-link:hover{color:var(--text-primary);background:var(--bg-glass)}.sidebar-link.active{color:var(--accent-hover);background:var(--accent-subtle)}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--accent)}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md)}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#a78bfa);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}.sidebar-user-info{flex:1;overflow:hidden}.sidebar-user-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:20px}.login-bg-glow{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(99,102,241,.12) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(139,92,246,.08) 0%,transparent 50%);pointer-events:none}.login-card{width:100%;max-width:420px;padding:44px 36px;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:36px}.login-logo{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.5rem;color:#fff;margin:0 auto 16px;box-shadow:var(--shadow-glow);animation:pulse-glow 3s ease-in-out infinite}.login-header h1{font-size:1.6rem;margin-bottom:4px}.login-header p{color:var(--text-muted);font-size:.85rem}.login-form{display:flex;flex-direction:column;gap:20px}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.input-with-icon .input{width:100%;padding-left:40px}.login-btn{width:100%;padding:12px;font-size:.95rem;margin-top:8px}.login-error{padding:10px 14px;background:var(--danger-subtle);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--danger);font-size:.85rem;text-align:center}.spin{animation:spin 1s linear infinite}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:.78rem;color:var(--text-muted);font-weight:500}.system-aggregate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.sys-agg-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-normal)}.sys-agg-card:hover{border-color:var(--border-hover)}.sys-agg-info{display:flex;flex-direction:column}.sys-agg-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.2}.sys-agg-label{font-size:.7rem;color:var(--text-muted);font-weight:500;margin-top:2px}.live-bar-container{position:relative;height:22px;min-width:120px;max-width:180px;background:#ffffff0a;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.live-bar{position:absolute;top:0;left:0;height:100%;border-radius:6px;transition:width .6s ease-out}.live-bar.cpu{background:linear-gradient(90deg,#6366f140,#6366f180)}.live-bar.ram{background:linear-gradient(90deg,#22c55e40,#22c55e80)}.live-bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--text-primary);z-index:1;font-family:JetBrains Mono,monospace}.edit-server-modal{width:520px;max-width:95vw}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-card);border:1px solid var(--border-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:85vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.port-slot-list{display:flex;flex-direction:column;gap:8px}.port-slot-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.port-slot-row:hover{border-color:var(--border-hover)}.port-slot-row.primary{border-color:#6366f14d;background:#6366f10a}.port-slot-label{display:flex;align-items:center;gap:6px;min-width:130px}.lock-icon{color:var(--accent);flex-shrink:0}.port-slot-name{font-weight:600;font-size:.82rem;color:var(--text-primary)}.port-slot-def{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-muted);background:#ffffff0d;padding:1px 6px;border-radius:4px}.port-slot-select{flex:1;padding:6px 10px!important;font-family:JetBrains Mono,monospace!important;font-size:.78rem!important;min-width:0}.port-slot-select:disabled{opacity:.7;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.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:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{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;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.console-page{display:flex;flex-direction:column;height:calc(100vh - 64px)}.console-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.console-header-left{display:flex;align-items:center;gap:12px}.console-title{display:flex;align-items:center;gap:10px;color:var(--text-primary)}.console-title h3{margin:0}.console-server-id{font-size:.78rem;color:var(--text-muted);font-family:monospace;background:var(--bg-glass);padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--border)}.console-status{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:20px}.console-status.online{background:var(--success-subtle);color:var(--success)}.console-status.offline{background:#64748b26;color:var(--text-muted)}.console-terminal-wrapper{flex:1;padding:12px;overflow:hidden;display:flex;border:1px solid var(--border-accent);box-shadow:inset 0 0 30px #0000004d}.console-terminal{flex:1}.console-terminal .xterm-viewport{overflow-y:auto!important}.console-terminal .xterm-viewport::-webkit-scrollbar{width:6px}.console-terminal .xterm-viewport::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.server-detail{display:flex;flex-direction:column;gap:20px;height:calc(100vh - 56px)}.startup-input{width:450px;font-family:JetBrains Mono,monospace!important;font-size:.85rem!important;background:#ffffff08!important;border:1px solid var(--border)!important;color:var(--text-primary)!important}.startup-input:focus{border-color:var(--accent)!important;background:#ffffff0d!important;box-shadow:0 0 0 2px #6366f11a!important}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.detail-header-left{display:flex;align-items:center;gap:12px}.detail-header-info{display:flex;flex-direction:column;gap:4px}.detail-name-row{display:flex;align-items:center;gap:10px}.detail-name-row h2{margin:0;font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.detail-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;flex-wrap:wrap}.detail-separator{color:var(--text-muted)}.detail-alloc{font-family:JetBrains Mono,monospace;font-size:.72rem;background:var(--bg-glass);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-weight:600;border:1px solid var(--border);transition:all var(--transition-fast)}.detail-alloc.primary{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.detail-alloc:hover{background:var(--accent);color:#fff;cursor:pointer;transform:translateY(-1px)}.detail-alloc.copied{background:var(--success)!important;color:#fff!important;border-color:var(--success)!important}.detail-header-actions{display:flex;gap:8px;align-items:center}.detail-stats-grid{display:grid;grid-template-columns:160px 160px 1fr;gap:16px;align-items:stretch}@media(max-width:900px){.detail-stats-grid{grid-template-columns:1fr 1fr}}.radial-stat{display:flex;flex-direction:column;align-items:center;padding:16px 12px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.radial-stat:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.radial-svg{width:110px;height:110px;transform:rotate(-90deg)}.radial-track{fill:none;stroke:#ffffff0f;stroke-width:8}.radial-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s ease-out}.radial-content{position:relative;margin-top:-82px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:60px}.radial-value{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.radial-label{margin-top:27px;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.radial-sublabel{font-size:.68rem;color:var(--text-muted);margin-top:2px}.detail-net-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-stat-tile{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:border-color var(--transition-normal)}.detail-stat-tile:hover{border-color:var(--border-hover)}.stat-tile-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-tile-info{display:flex;flex-direction:column}.stat-tile-value{font-size:.88rem;font-weight:700;color:var(--text-primary)}.stat-tile-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.detail-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border);padding-bottom:0}.detail-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);margin-bottom:-1px}.detail-tab:hover{color:var(--text-secondary)}.detail-tab.active{color:var(--accent-hover);border-bottom-color:var(--accent)}.console-ws-badge{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:12px}.console-ws-badge.online{background:var(--success-subtle);color:var(--success)}.console-ws-badge.offline{background:#64748b26;color:var(--text-muted)}.detail-tab-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-accent)}.detail-console-area{flex:1;display:flex;flex-direction:column;min-height:0}.console-output{flex:1;overflow-y:auto;padding:12px 16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.6;background:#0d1117;color:#c9d1d9;white-space:pre-wrap;word-break:break-all}.console-output::-webkit-scrollbar{width:6px}.console-output::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.console-line{min-height:18px}.console-input-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0d1117f2;border-top:1px solid var(--border)}.console-prompt{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:var(--accent);-webkit-user-select:none;user-select:none}.console-input{flex:1;padding:8px 12px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:12.5px;outline:none;transition:border-color var(--transition-fast)}.console-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.console-input::placeholder{color:var(--text-muted)}.console-input:disabled{opacity:.4;cursor:not-allowed}.file-manager{flex:1;display:flex;flex-direction:column;min-height:0}.file-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.file-breadcrumbs{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.breadcrumb-item{background:none;border:none;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.78rem;cursor:pointer;padding:3px 6px;border-radius:4px;transition:all var(--transition-fast);display:flex;align-items:center;gap:4px}.breadcrumb-item:hover{background:var(--bg-glass);color:var(--accent-hover)}.breadcrumb-item.root{font-weight:600;color:var(--text-secondary)}.breadcrumb-seg{display:flex;align-items:center;color:var(--text-muted)}.file-toolbar-actions{display:flex;gap:4px;align-items:center}.file-new-row{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#6366f10d;border-bottom:1px solid var(--border);color:var(--accent)}.file-new-input{flex:1;padding:6px 10px;font-size:.82rem}.file-list{flex:1;overflow-y:auto}.file-row{display:grid;grid-template-columns:20px 1fr 80px 140px 70px;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid rgba(255,255,255,.02);font-size:.82rem}.file-row:hover{background:var(--bg-glass)}.file-icon.folder{color:#f59e0b}.file-icon.file{color:var(--text-muted)}.file-name{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--text-muted);font-size:.72rem;text-align:right;font-family:monospace}.file-date{color:var(--text-muted);font-size:.7rem;font-family:monospace}.file-actions{display:flex;gap:2px;justify-content:flex-end;opacity:0;transition:opacity var(--transition-fast)}.file-row:hover .file-actions{opacity:1}.file-editor{flex:1;display:flex;flex-direction:column;min-height:0}.file-editor-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);gap:12px}.file-editor-path{display:flex;align-items:center;gap:8px;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.file-editor-actions{display:flex;gap:6px}.file-editor-textarea{flex:1;padding:14px 18px;background:#0d1117;color:#c9d1d9;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.65;border:none;outline:none;resize:none;tab-size:4;white-space:pre;overflow:auto}.file-editor-textarea::-webkit-scrollbar{width:6px;height:6px}.file-editor-textarea::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.startup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.startup-item{padding:16px;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-normal)}.startup-item:hover{border-color:var(--border-hover);background:#ffffff0a}.startup-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.startup-label-row label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:capitalize}.startup-label-row code{font-size:.7rem;color:var(--accent);background:var(--accent-subtle);padding:2px 6px;border-radius:4px}.toggle-wrapper{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0}.toggle-track{width:44px;height:22px;background:#64748b33;border-radius:20px;position:relative;transition:all var(--transition-normal);border:1px solid var(--border)}.toggle-track.on{background:var(--success-subtle);border-color:var(--success)}.toggle-thumb{width:16px;height:16px;background:#94a3b8;border-radius:50%;position:absolute;top:2px;left:2px;transition:all var(--transition-normal)}.toggle-track.on .toggle-thumb{transform:translate(22px);background:var(--success);box-shadow:0 0 10px var(--success)}.toggle-status{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.toggle-track.on+.toggle-status{color:var(--success)}@media(max-width:768px){.startup-grid{grid-template-columns:1fr}}
