@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--bg-primary:#070514;--bg-secondary:#0c0822;--bg-card:#0d0a2473;--bg-elevated:#16113899;--border:#8b5cf626;--border-hover:#a855f766;--primary:#8b5cf6;--primary-glow:#8b5cf659;--primary-hover:#a78bfa;--primary-gradient:linear-gradient(135deg, #a855f7 0%, #6366f1 100%);--danger:#ff2a5f;--danger-glow:#ff2a5f59;--danger-gradient:linear-gradient(135deg, #ff5388 0%, #d90429 100%);--success:#05f2c7;--success-glow:#05f2c759;--success-gradient:linear-gradient(135deg, #34fcdc 0%, #059669 100%);--warning:#f1c40f;--warning-glow:#f1c40f4d;--warning-gradient:linear-gradient(135deg, #fce83a 0%, #d4ac0d 100%);--text:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#7f8fa4;--sidebar-width:280px;--terminal-bg:#070514d9;--terminal-green:#05f2c7}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);-webkit-font-smoothing:antialiased;background-color:#060415;background-image:radial-gradient(circle at 15% 15%,#8b5cf638 0%,#0000 40%),radial-gradient(circle at 85% 20%,#6366f133 0%,#0000 45%),radial-gradient(circle at 50% 80%,#ec489924 0%,#0000 50%),radial-gradient(circle at 80% 85%,#06b6d42e 0%,#0000 40%),radial-gradient(circle at 20% 75%,#10b98114 0%,#0000 45%);background-position:0 0;background-repeat:repeat;background-size:200% 200%;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;font-family:Inter,-apple-system,sans-serif;animation:25s ease-in-out infinite alternate backgroundMove;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(#8b5cf605 1px,#0000 1px),linear-gradient(90deg,#8b5cf605 1px,#0000 1px);background-position:50%;background-size:50px 50px;animation:8s ease-in-out infinite alternate gridBreathe;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#0000 10%,#060415b3 100%);position:fixed;inset:0}@keyframes backgroundMove{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}@keyframes gridBreathe{0%{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.015)}to{opacity:.5;transform:scale(1)}}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8b5cf626;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8b5cf64d}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:20px;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 40px #0000004d,inset 0 1px 1px #ffffff08}.glass:hover{border-color:var(--border-hover);transform:translateY(-4px)scale(1.005);box-shadow:0 20px 50px #8b5cf61f,inset 0 1px 1px #ffffff0f}.btn{cursor:pointer;color:#fff;text-transform:tracking-wide;letter-spacing:.2px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-family:Outfit,sans-serif;font-size:.875rem;font-weight:600;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";opacity:0;background:linear-gradient(#ffffff26 0%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.btn:after{content:"";background:linear-gradient(90deg,#fff0 0%,#fff3 50%,#fff0 100%);width:20%;height:100%;transition:all .75s;position:absolute;top:0;left:-50%;transform:skew(-25deg)}.btn:hover:before{opacity:1}.btn:hover:after{left:125%}.btn:active{transform:scale(.96)}.btn-primary{background:var(--primary-gradient);box-shadow:0 4px 16px var(--primary-glow);border-color:#ffffff26}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf680}.btn-danger{background:var(--danger-gradient);box-shadow:0 4px 16px var(--danger-glow);border-color:#ffffff26}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff2a5f80}.btn-success{background:var(--success-gradient);box-shadow:0 4px 16px var(--success-glow);border-color:#ffffff26}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 24px #05f2c780}.btn-warning{background:var(--warning-gradient);box-shadow:0 4px 16px var(--warning-glow);color:#070514;border-color:#ffffff26}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f1c40f80}.btn-secondary{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:none}.btn-secondary:hover{border-color:var(--border-hover);background:#ffffff0f}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.7);box-shadow:none!important;transform:none!important}.btn-sm{border-radius:8px;padding:6px 14px;font-size:.8rem}input,select{width:100%;color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0a2480;border:1px solid #8b5cf626;border-radius:12px;outline:none;padding:12px 18px;font-family:inherit;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 4px #0000001a}input:focus,select:focus{border-color:var(--border-hover);background:#0d0a24b3;box-shadow:0 0 0 4px #8b5cf640,inset 0 2px 4px #0000000d}.form-input{width:100%;color:var(--text);-webkit-appearance:none;background:#0d0a2480;border:1px solid #8b5cf626;border-radius:12px;outline:none;padding:12px 18px;font-family:inherit;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 4px #0000001a}.form-input:focus{border-color:var(--border-hover);background:#0d0a24b3;box-shadow:0 0 0 4px #8b5cf640}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);-webkit-backdrop-filter:blur(30px);z-index:100;background:#08061a8c;border-right:1px solid #8b5cf61f;flex-direction:column;height:100vh;padding:32px 20px;display:flex;position:fixed;top:0;left:0;box-shadow:10px 0 30px #00000026}.sidebar-header{border-bottom:1px solid #8b5cf61a;margin-bottom:16px;padding:0 12px 32px}.sidebar-header h2{background:linear-gradient(135deg,#a855f7 0%,#06b6d4 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 20px #a855f740;-webkit-background-clip:text;font-size:1.5rem;font-weight:800}.nav-links{flex-direction:column;flex:1;gap:8px;display:flex}.nav-link{color:var(--text-secondary);border-radius:12px;align-items:center;gap:14px;padding:14px 18px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.nav-link:hover{color:var(--text);background:#8b5cf614;transform:translate(6px)}.nav-link.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 20px var(--primary-glow);border:1px solid #ffffff1a;font-weight:600}.logout-btn{justify-content:center;margin-top:auto;font-size:.85rem}.main-content{height:100vh;margin-left:var(--sidebar-width);flex:1;padding:40px 56px;overflow-y:auto}.page h1{letter-spacing:-.5px;background:linear-gradient(135deg,#fff 30%,#a855f7 100%);-webkit-text-fill-color:transparent;text-shadow:0 4px 12px #0000001a;-webkit-background-clip:text;margin-bottom:4px;font-size:2.2rem;font-weight:800}.header-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.server-controls{background:var(--bg-card);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid #8b5cf626;border-radius:16px;align-items:center;gap:12px;padding:8px 12px;display:flex;box-shadow:0 8px 24px #00000026}.status-badge{text-transform:uppercase;letter-spacing:1px;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:.75rem;font-weight:800;display:inline-flex}.status-badge:before{content:"";border-radius:50%;width:6px;height:6px;display:inline-block}.status-badge.online{color:#05f2c7;background:#05f2c71f;box-shadow:inset 0 0 0 1px #05f2c740,0 0 12px #05f2c71a}.status-badge.online:before{background:#05f2c7;box-shadow:0 0 8px #05f2c7}.status-badge.offline{color:#ff2a5f;background:#ff2a5f1f;box-shadow:inset 0 0 0 1px #ff2a5f40,0 0 12px #ff2a5f1a}.status-badge.offline:before{background:#ff2a5f;box-shadow:0 0 8px #ff2a5f}.status-badge.starting{color:#f1c40f;background:#f1c40f1f;animation:1.5s infinite pulse;box-shadow:inset 0 0 0 1px #f1c40f40,0 0 12px #f1c40f1a}.status-badge.starting:before{background:#f1c40f;box-shadow:0 0 8px #f1c40f}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.console-layout{grid-template-columns:1fr 300px;gap:24px;height:65vh;min-height:500px;display:grid}.stats-column{flex-direction:column;gap:16px;display:flex}.stat-card{flex-direction:column;flex:1;justify-content:center;padding:24px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--primary-gradient);opacity:.75;width:4px;height:100%;position:absolute;top:0;left:0}.stat-card h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:12px;font-size:.85rem;font-weight:700}.stat-value{background:linear-gradient(135deg,#fff 30%,#cbd5e1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:800}.terminal-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#070514cc;border:1px solid #8b5cf633;border-radius:20px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 15px 45px #0006,inset 0 1px 1px #ffffff0d}.terminal-output{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;flex:1;padding:24px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem;line-height:1.7;overflow-y:auto}.terminal-input-form{background:#05040fd9;border-top:1px solid #8b5cf626;align-items:center;gap:12px;padding:16px 24px;display:flex}.terminal-input-form span{color:var(--primary);text-shadow:0 0 10px var(--primary-glow);font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:800}.terminal-input-form input{box-shadow:none;background:0 0;border:none;padding:0;font-family:JetBrains Mono,monospace;font-size:.95rem}.terminal-input-form input:focus{box-shadow:none;border:none}.files-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0a2459;border:1px solid #8b5cf626;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;padding:16px 24px;display:flex}.path-display{color:var(--text-secondary);background:#05040f80;border:1px solid #8b5cf626;border-radius:8px;align-items:center;gap:12px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.9rem;display:flex}.files-list{background:var(--bg-card);border:1px solid #8b5cf626;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #0003}.files-list table{border-collapse:collapse;width:100%}.files-list th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;background:#08061a73;border-bottom:1px solid #8b5cf626;padding:18px 24px;font-size:.8rem;font-weight:700}.files-list td{border-bottom:1px solid #8b5cf614;padding:16px 24px;font-size:.95rem}.files-list tr:last-child td{border-bottom:none}.files-list tbody tr:hover{background:#8b5cf60a}.file-link{cursor:pointer;color:var(--primary-hover);align-items:center;gap:12px;font-weight:600;transition:all .2s ease-in-out;display:flex}.file-link:hover{color:#cbd5e1;transform:translate(4px)}.text-file{color:var(--text-secondary)}.text-file:hover{color:#fff}.login-container{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-container:before{content:"";z-index:-1;filter:blur(40px);background:radial-gradient(circle,#8b5cf640 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:20%;left:25%}.login-container:after{content:"";z-index:-1;filter:blur(40px);background:radial-gradient(circle,#6366f133 0%,#0000 70%);border-radius:50%;width:350px;height:300px;position:absolute;bottom:20%;right:25%}.login-box{text-align:center;width:100%;max-width:440px;padding:56px 48px}.login-box h2{background:linear-gradient(135deg,#fff 0%,#a855f7 100%);-webkit-text-fill-color:transparent;text-shadow:0 4px 15px #a855f733;-webkit-background-clip:text;justify-content:center;align-items:center;gap:12px;margin-bottom:40px;font-size:2.2rem;font-weight:800;display:flex}.login-box input{margin-bottom:20px}.login-box button{width:100%;padding:14px;font-size:1rem}.settings-card{max-width:680px;margin-top:24px;padding:32px}.settings-card h3{margin-bottom:8px;font-size:1.35rem;font-weight:800}.settings-form{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.add-user-form{gap:12px;margin:24px 0;display:flex}.user-list{list-style:none}.user-list li{border-bottom:1px solid #8b5cf61a;justify-content:space-between;align-items:center;padding:16px;display:flex}.alert{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-bottom:20px;padding:14px 20px;font-size:.95rem;font-weight:600}.alert.error{color:#ff8ca3;background:#ff2a5f1a;border:1px solid #ff2a5f40;box-shadow:0 4px 15px #ff2a5f1a}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.ip-badge{color:var(--text-secondary);cursor:pointer;background:#0d0a2466;border:1px solid #8b5cf626;border-radius:10px;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.ip-badge:hover{background:#8b5cf61f;border-color:#8b5cf659;transform:translateY(-1px);box-shadow:0 4px 15px #8b5cf626}.files-list.dragging{border:2px dashed var(--primary);position:relative;background:#8b5cf60d!important}.drag-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;pointer-events:none;background:#070514cc;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drag-message{border:2px dashed var(--primary);color:var(--primary-hover);background:var(--bg-card);text-align:center;border-radius:16px;padding:3rem;font-size:1.5rem;font-weight:600;animation:2s infinite dragPulse;box-shadow:0 20px 40px #00000080}@keyframes dragPulse{0%{transform:scale(1);box-shadow:0 0 #8b5cf666}70%{transform:scale(1.02);box-shadow:0 0 0 10px #8b5cf600}to{transform:scale(1);box-shadow:0 0 #8b5cf600}}@media (width<=1024px){.console-layout{grid-template-columns:1fr;height:auto}.stats-column{flex-flow:wrap}.terminal-container{height:400px}}@media (width<=768px){.sidebar{width:70px;padding:24px 12px}.sidebar-header h2,.nav-link span{display:none}.main-content{margin-left:70px;padding:24px}.header-controls{flex-direction:column;align-items:flex-start}}
