.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:radial-gradient(ellipse at top,rgba(99,102,241,.15),transparent 50%),radial-gradient(ellipse at bottom,rgba(139,92,246,.15),transparent 50%)}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;padding:3rem;width:100%;max-width:450px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo{font-size:2.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:.5rem}.tagline{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:var(--bg-tertiary);padding:.5rem;border-radius:12px}.auth-tab{flex:1;padding:.75rem;background:transparent;border:none;color:var(--text-secondary);font-weight:500;cursor:pointer;border-radius:8px;transition:all .3s ease}.auth-tab.active{background:var(--accent-gradient);color:var(--text-primary);box-shadow:0 4px 12px #6366f14d}.auth-form{display:none}.auth-form.active{display:block}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.875rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.btn-primary:active:not(:disabled){transform:translateY(0)}.error-message{margin-top:1rem;padding:.75rem;background:#ef44441a;border:1px solid var(--danger);border-radius:8px;color:var(--danger);font-size:.875rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content.modal-large{max-width:900px;max-height:85vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.5rem}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;transition:color .3s ease}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.btn-primary{width:100%;padding:1rem;background:var(--accent-gradient);border:none;border-radius:10px;color:var(--text-primary);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{padding:.625rem 1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.btn-danger{padding:.5rem 1rem;background:#ef44441a;border:1px solid var(--danger);border-radius:8px;color:var(--danger);font-weight:500;cursor:pointer;transition:all .3s ease}.btn-danger:hover{background:var(--danger);color:var(--text-primary)}.api-key-create{display:flex;gap:1rem;margin-bottom:1.5rem}.api-key-create input{flex:1;padding:.875rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:1rem}.api-key-create input:focus{outline:none;border-color:var(--accent-primary)}.new-api-key-display{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:2px solid var(--accent-primary);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.api-key-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:var(--warning);font-size:.9rem}.api-key-value-container{display:flex;gap:.5rem;margin-bottom:1rem}.api-key-input{flex:1;font-family:Courier New,monospace;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem}.api-key-input:focus{outline:none;border-color:var(--accent-primary)}.installer-command-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1rem}.installer-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem}.installer-command-container{display:flex;gap:.5rem;align-items:center}.installer-command{flex:1;font-family:Courier New,monospace;font-size:.85rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.625rem .875rem;color:var(--success);word-break:break-all}.api-keys-list{display:flex;flex-direction:column;gap:1rem}.api-key-item{background:var(--bg-tertiary);padding:1rem;border-radius:12px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.api-key-info h4{margin-bottom:.25rem}.api-key-info p{font-size:.875rem;color:var(--text-secondary)}.hardware-sections{display:flex;flex-direction:column;gap:2rem}.hardware-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.hardware-section-title{font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary);padding-bottom:.75rem;border-bottom:2px solid var(--accent-primary)}.hardware-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.hardware-item{display:flex;flex-direction:column;gap:.25rem}.hardware-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.hardware-value{font-size:.95rem;color:var(--text-primary);font-weight:500;word-break:break-word}.dimms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.dimm-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.dimm-header{font-weight:600;font-size:.9rem;color:var(--accent-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.dimm-details{font-size:.85rem;color:var(--text-secondary);line-height:1.8}.dimm-details strong{color:var(--text-muted)}.disk-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1rem}.disk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.disk-device{font-weight:600;color:var(--accent-primary)}.disk-type{font-size:.75rem;padding:.25rem .5rem;background:var(--accent-primary);color:var(--text-primary);border-radius:4px}.disk-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.partitions-list{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.partitions-list h4{font-size:.9rem;font-weight:600;margin-bottom:.75rem;color:var(--text-secondary)}.partition-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color);font-size:.85rem}.partition-item:last-child{border-bottom:none}.partition-name{font-weight:500;color:var(--text-primary);min-width:100px}.partition-details{display:flex;gap:1rem;color:var(--text-secondary);flex-wrap:wrap}.partition-mount{color:var(--success)}.partition-usage{color:var(--warning)}.network-list{display:flex;flex-direction:column;gap:1rem}.network-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.network-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.network-name{font-weight:600;color:var(--accent-primary)}.network-speed{font-size:.8rem;color:var(--text-muted)}.network-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem}@media(max-width:768px){.hardware-grid,.dimms-list,.disk-info,.network-details{grid-template-columns:1fr}.partition-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.server-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);transition:all .3s ease}.server-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}.server-card.offline{opacity:.7}.server-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.server-name{font-size:1.25rem;font-weight:600}.server-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse 2s ease-in-out infinite}.status-indicator.offline{background:var(--text-muted);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.server-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.75rem;color:var(--text-muted)}.uptime-info{display:flex;gap:.5rem}.uptime-label{color:var(--text-secondary)}.uptime-value{font-weight:500}.last-update{color:var(--text-muted)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.metric-item{background:var(--bg-tertiary);padding:1rem;border-radius:12px;border:1px solid var(--border-color)}.metric-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.metric-unit{font-size:.875rem;color:var(--text-secondary);margin-left:.25rem}.progress-bar{height:4px;background:var(--bg-primary);border-radius:2px;margin-top:.5rem;overflow:hidden}.progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.progress-fill.low{background:linear-gradient(90deg,var(--success) 0%,#34d399 100%)}.progress-fill.medium{background:linear-gradient(90deg,var(--warning) 0%,#fbbf24 100%)}.progress-fill.high{background:linear-gradient(90deg,var(--danger) 0%,#f87171 100%)}.offline-message{text-align:center;padding:2rem;color:var(--text-muted)}@media(max-width:768px){.metrics-grid{grid-template-columns:1fr}}.sidebar{position:fixed;left:0;top:0;height:100vh;width:260px;background:#000;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:4px 0 30px #ffffff05}.sidebar.collapsed{width:70px}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;background:#ffffff05}.sidebar-logo{display:flex;align-items:center;gap:.75rem;flex:1;overflow:hidden}.logo-icon{font-size:1.75rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.logo-text{font-size:1.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.collapse-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.25rem;width:32px;height:32px;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.collapse-btn:hover{background:#fff;color:#000;border-color:#fff;transform:scale(1.05)}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-list{list-style:none;padding:0;margin:0}.nav-item{margin:.25rem .75rem}.nav-link{width:100%;display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:transparent;border:none;border-radius:12px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:left;position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.nav-link:hover{color:#fff;transform:translate(4px)}.nav-link:hover:before{opacity:1}.nav-link.active{background:#fff;color:#000;box-shadow:0 4px 20px #ffffff4d}.nav-link.active:before{opacity:0}.nav-icon{font-size:1.25rem;width:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.nav-label{white-space:nowrap;position:relative;z-index:1}.sidebar.collapsed .nav-link{justify-content:center;padding:.875rem}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05}.user-profile{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.75rem;background:#0a0a0a;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.user-avatar{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#000;flex-shrink:0;box-shadow:0 4px 15px #fff3}.user-info{overflow:hidden;flex:1}.user-name{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:10px;color:#f87171;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#f8717133;border-color:#f87171;transform:translateY(-2px);box-shadow:0 4px 12px #f871714d}.logout-icon{font-size:1.1rem}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:260px;transform:translate(-100%)}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}}.dashboard-wrapper{display:flex;min-height:100vh;background:var(--bg-primary)}.dashboard-container{flex:1;margin-left:260px;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.dashboard-container.sidebar-collapsed{margin-left:70px}.dashboard-header{background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:1.5rem 2.5rem;position:sticky;top:0;z-index:100;box-shadow:0 4px 30px #ffffff05}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.header-left{flex:1}.page-title{font-size:2rem;font-weight:700;margin:0;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.page-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.header-actions{display:flex;gap:1rem;align-items:center}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;border:none;position:relative;overflow:hidden}.btn-secondary{background:#141414;border:1px solid rgba(255,255,255,.2);color:#fff}.btn-secondary:hover{background:#1a1a1a;border-color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #ffffff1a}.btn-primary{background:#fff;color:#000;box-shadow:0 4px 20px #ffffff4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #fff6}.btn-primary:active{transform:translateY(0)}.btn-icon{font-size:1.1rem}.dashboard-main{flex:1;padding:2.5rem;background:#000}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#0a0a0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #ffffff14;border-color:#ffffff4d}.stat-card:hover:before{opacity:1}.stat-icon{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0;box-shadow:0 8px 25px #00000080;position:relative;z-index:1;background:#fff}.stat-info{flex:1;position:relative;z-index:1}.stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.content-section{background:#0a0a0a;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;box-shadow:0 8px 40px #ffffff08;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.section-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-primary)}.section-badge{background:#fff;color:#000;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;box-shadow:0 4px 15px #ffffff4d}.servers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.loading-spinner{width:50px;height:50px;margin:0 auto 1.5rem;border:4px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1.5rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h3{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.empty-state p{color:var(--text-secondary);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}@media(max-width:1024px){.dashboard-container{margin-left:70px}.dashboard-main{padding:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.dashboard-container{margin-left:0}.dashboard-header{padding:1.25rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:space-between}.btn-secondary,.btn-primary{flex:1;justify-content:center;padding:.75rem 1rem}.dashboard-main{padding:1.25rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.servers-grid{grid-template-columns:1fr}.content-section{padding:1.5rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-title{font-size:1.5rem}}:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #141414;--accent-primary: #ffffff;--accent-secondary: #e0e0e0;--accent-gradient: linear-gradient(135deg, #ffffff 0%, #b0b0b0 100%);--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: rgba(255, 255, 255, .08);--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--shadow: 0 10px 40px rgba(0, 0, 0, .8);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .9)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input{font-family:inherit}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.error-message{color:var(--danger);font-size:.875rem;margin-top:.5rem}.success-message{color:var(--success);font-size:.875rem;margin-top:.5rem}
