:root{--bg-dark: #0f0f12;--bg-card: #16161c;--bg-hover: #1c1c24;--accent: #6366f1;--accent-hover: #818cf8;--text: #e4e4e7;--text-muted: #71717a;--border: #27272a;--success: #22c55e;--danger: #ef4444;--warning: #eab308}*{box-sizing:border-box}body{margin:0;font-family:Outfit,system-ui,sans-serif;background:var(--bg-dark);color:var(--text);min-height:100vh;line-height:1.5}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}input,button,select,textarea{font-family:inherit;font-size:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:500;transition:background .2s,color .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.btn-sm{padding:.35rem .75rem;font-size:.875rem}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.25rem;color:var(--text-muted);font-size:.875rem}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.layout{display:flex;min-height:100vh;position:relative}.sidebar{width:240px;flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border);padding:1rem 0;display:flex;flex-direction:column}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 20px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.sidebar-overlay.open{display:block}.main{padding-top:3.5rem}.layout-header{display:flex}}.layout-header{display:none;position:fixed;top:0;left:0;right:0;height:3rem;background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;padding:0 1rem;z-index:998;gap:.5rem}.sidebar a{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.25rem;color:var(--text-muted);border-left:3px solid transparent}.sidebar a:hover,.sidebar a.active{color:var(--text);background:var(--bg-hover)}.sidebar a.active{border-left-color:var(--accent)}.sidebar .nav-icon{opacity:.85}.sidebar a.active .nav-icon{opacity:1}.main{flex:1;padding:1.5rem;overflow:auto;min-width:0}.menu-toggle{padding:.5rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.menu-toggle:hover{background:var(--bg-hover)}.menu-toggle svg{width:1.25rem;height:1.25rem}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge-success{background:#22c55e33;color:var(--success)}.badge-danger{background:#ef444433;color:var(--danger)}.badge-warning{background:#eab30833;color:var(--warning)}.console-output{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.5;border:none;border-radius:0;padding:1rem 1.25rem;min-height:200px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#b8b8bc}.console-output .log-line{display:block;margin-bottom:.15rem}.console-output .log-line.log-stderr{color:#f87171}.console-output .log-line.log-command{color:#7dd3fc}.console-output .log-line.log-info{color:#a3a3a3}.console-output .log-line .log-time{color:#52525b;margin-right:.5rem}.console-command-bar .command-prefix{font-family:JetBrains Mono,Fira Code,monospace;padding-right:.35rem;-webkit-user-select:none;user-select:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:500;font-size:.875rem}.lang-switcher{position:relative;margin-left:auto}.lang-switcher-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.875rem;cursor:pointer}.lang-switcher-trigger:hover{border-color:var(--accent);color:var(--accent)}.lang-switcher-chevron{font-size:.6rem;opacity:.7}.lang-switcher-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;display:flex;flex-direction:column;overflow:hidden}.lang-switcher-dropdown button{padding:.4rem .75rem;background:none;border:none;color:var(--text-muted);font-size:.875rem;cursor:pointer;text-align:left;white-space:nowrap}.lang-switcher-dropdown button:hover{background:var(--bg-secondary);color:var(--text)}.lang-switcher-dropdown button.active{color:var(--accent);font-weight:500}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;box-shadow:0 4px 12px #0000004d;pointer-events:auto;animation:toastIn .25s ease}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}.toast-info{background:var(--accent);color:#fff}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.page-header h1{margin:0;font-size:1.5rem;font-weight:600}.page-description{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.card-table{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:0}.card-table .table-wrap{overflow-x:auto}.card-table table{margin:0}.card-table th,.card-table td{padding:.75rem 1rem}:root{--pterodactyl-teal: #0d9488;--pterodactyl-teal-dim: rgba(13, 148, 136, .15)}.server-detail-header-centered{text-align:center;margin-bottom:.5rem}.server-detail-name{font-size:1.25rem;font-weight:700;letter-spacing:.02em;color:var(--text)}.card-compact{padding:.5rem .75rem}.card-compact .card-title-compact{margin:0 0 .35rem;font-size:.9375rem}.card-tabs-row{display:flex;gap:.35rem;margin-bottom:.35rem;flex-wrap:wrap;align-items:center}.pterodactyl-console-layout{display:flex;align-items:stretch;gap:0;width:100%;min-height:380px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pterodactyl-side-panel{align-self:stretch;display:flex;flex-direction:column}.pterodactyl-center-column{flex:1;min-width:0;display:flex;flex-direction:column}.pterodactyl-left-panel{width:158px;min-width:158px;padding:.6rem .5rem;background:#16161a;border-right:1px solid var(--border);gap:.5rem}.pterodactyl-server-name{font-size:1rem;font-weight:700;color:#fff;letter-spacing:.02em;line-height:1.2}.pterodactyl-status-row{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--text-muted)}.pterodactyl-status-dot{width:10px;height:10px;border-radius:50%}.pterodactyl-status-dot.running{background:#22c55e;box-shadow:0 0 8px #22c55e80}.pterodactyl-status-dot.starting{background:#eab308;box-shadow:0 0 8px #eab30880}.pterodactyl-status-dot.stopped{background:#71717a}.pterodactyl-status-text{color:var(--text)}.pterodactyl-stats-block{font-size:.75rem;color:var(--text);font-family:var(--font-mono, monospace)}.pterodactyl-stat-line{margin-bottom:.15rem}.pterodactyl-buttons{display:flex;flex-direction:column;gap:.35rem}.pterodactyl-btn{justify-content:center}.network-port-status{margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--border)}.network-port-status-title{font-size:.65rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.network-port-status-row{display:flex;align-items:center;gap:.4rem;font-size:.7rem;margin-bottom:.25rem;flex-wrap:wrap}.network-port-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;border-radius:999px;font-weight:600;min-width:5.5rem}.network-port-status-badge-round{padding:0;min-width:0}.network-port-status-dot{width:1.1rem;height:1.1rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;flex-shrink:0}.network-port-status-badge-round.listening .network-port-status-dot{background:#22c55e;color:#fff}.network-port-status-badge-round.not-listening .network-port-status-dot{background:#ef4444;color:#fff}.network-port-status-badge.listening{background:#22c55e33;color:#22c55e}.network-port-status-badge.not-listening{background:#ef444433;color:#ef4444}.network-port-status-badge-round.listening,.network-port-status-badge-round.not-listening{background:transparent;color:var(--text)}.network-port-status-icon{font-size:.7rem}.network-port-status-icon.not{font-size:.65rem}.network-port-status-name{flex:1;min-width:0;color:var(--text)}.network-port-status-num{color:var(--text-muted);font-variant-numeric:tabular-nums}.network-port-status-proto{color:var(--text-muted);font-size:.7rem}.server-ports-table{display:flex;flex-direction:column;gap:.35rem}.server-ports-row{display:grid;grid-template-columns:1fr 5rem auto;gap:.5rem;align-items:center;font-size:.875rem}.server-ports-name{color:var(--text)}.server-ports-port{width:100%;min-width:0}.server-ports-protocol{color:var(--text-muted);font-size:.8125rem;white-space:nowrap}.pterodactyl-console-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#0c0c0e;border-right:1px solid var(--border)}.pterodactyl-console-panel .console-terminal{flex:1;display:flex;flex-direction:column;min-height:0;border-radius:0;box-shadow:none;border:none}.pterodactyl-console-panel .console-output{flex:1;min-height:260px;max-height:400px;height:auto;border-left:none;padding-left:1rem}.pterodactyl-console-panel .console-command-bar{border-top:1px solid var(--border)}.pterodactyl-send-btn{background:var(--pterodactyl-teal);color:#fff}.pterodactyl-send-btn:hover:not(:disabled){background:#0f766e}.command-prefix{color:var(--pterodactyl-teal)}.pterodactyl-players-panel{width:158px;min-width:158px;padding:.6rem .5rem;background:#16161a;min-height:0}.pterodactyl-players-panel .console-panel-title{margin-bottom:.5rem;font-size:.8rem}.pterodactyl-players-panel .console-players-list{flex:1;min-height:60px}.pterodactyl-center-column .pterodactyl-graphs{display:flex;gap:.5rem;margin-top:.5rem;padding:.5rem;flex-shrink:0}.pterodactyl-graphs{display:flex;gap:1rem;margin-top:1rem;width:100%}.pterodactyl-graph-card{flex:1;min-width:0;padding:.5rem .65rem;background:#16161a;border:1px solid var(--border);border-radius:6px}.pterodactyl-center-column .pterodactyl-graph-card{padding:.4rem .5rem}.pterodactyl-graph-title{font-size:.7rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;letter-spacing:.05em}.pterodactyl-graph-svg-wrap{height:48px;width:100%}.pterodactyl-center-column .pterodactyl-graph-svg-wrap{height:44px}.pterodactyl-graph-svg{width:100%;height:100%;display:block}.card>div:first-child .btn.btn-primary.btn-sm{border-bottom:2px solid var(--pterodactyl-teal);color:var(--pterodactyl-teal);background:transparent}.card>div:first-child .btn.btn-primary.btn-sm:hover{background:var(--pterodactyl-teal-dim)}.console-panel-title{font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.02em}.console-players-list{flex:1;overflow-y:auto;min-height:120px;font-size:.875rem}.console-player-item{padding:.35rem 0;border-bottom:1px solid var(--border);color:var(--text)}.console-player-item:last-child{border-bottom:none}.console-terminal{background:#0c0c0e;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff08}.console-window-title{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:linear-gradient(180deg,#1a1a1e,#151518);border-bottom:1px solid var(--border);font-size:.8125rem;color:var(--text-muted);min-height:36px}.console-window-dots{display:flex;align-items:center;gap:6px;flex-shrink:0}.console-dot{width:12px;height:12px;border-radius:50%}.console-dot-red{background:#ff5f57}.console-dot-yellow{background:#febc2e}.console-dot-green{background:#28c840}.console-window-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text)}.console-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.console-status-dot.connected{background:#22c55e;box-shadow:0 0 8px #22c55e80}.console-status-dot.disconnected{background:#71717a}.console-status-dot.stopped{background:#ef4444}.console-terminal .console-output{border:none;border-radius:0;min-height:220px;height:320px;background:#08080a;border-left:3px solid var(--border);margin:0;padding-left:calc(1.25rem - 3px)}.console-command-bar{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#0a0a0c;border-top:1px solid var(--border);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875rem}.console-command-bar .command-prefix{flex-shrink:0;color:#22c55e}.console-command-bar input{flex:1;min-width:0;padding:.5rem .5rem .5rem 0;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:inherit}.console-command-bar input:focus{outline:none}.console-command-bar input::placeholder{color:var(--text-muted);opacity:.8}.console-command-bar .btn{flex-shrink:0;padding:.35rem .75rem;font-size:.8125rem}.console-rcon-badge{font-size:.65rem;padding:.2rem .35rem;background:#22c55e26;color:var(--success);border-radius:4px;font-weight:600;flex-shrink:0;letter-spacing:.02em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;max-width:420px;width:90%;max-height:90vh;overflow:auto}.modal-header{margin:0 0 1rem;font-size:1.125rem;font-weight:600;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.file-manager-pane{display:grid;gap:1rem}.file-manager-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d948826;border:2px dashed var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;font-weight:600;color:var(--accent);padding:1rem;text-align:center}.file-manager-uploading-hint{padding:.35rem .5rem;background:var(--bg-secondary);border-radius:6px;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}@media(min-width:900px){.file-manager-pane{grid-template-columns:1fr 1.4fr;align-items:start}}.file-manager-editor{background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;padding:.75rem;min-height:240px}.file-manager-editor textarea{width:100%;min-height:200px;font-family:JetBrains Mono,monospace;font-size:.8125rem;background:transparent;border:none;color:var(--text);resize:vertical}.file-manager-editor textarea:focus{outline:none}.login-page{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg-dark);pointer-events:auto}.login-card{position:relative;z-index:2;width:100%;max-width:400px;padding:2rem;pointer-events:auto}.login-card input,.login-card button[type=submit],.login-card button[type=button]{pointer-events:auto}.login-card input:focus{outline:2px solid var(--accent);outline-offset:2px}.login-card h1{margin-top:0;margin-bottom:.25rem;font-size:1.5rem}.login-card .subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9375rem}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg-hover);border:1px solid var(--border);border-radius:24px;transition:.2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:2px;bottom:2px;background:var(--text-muted);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:#fff}
