@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a2e;--bg-card-hover:#1e1e35;--bg-elevated:#242438;--glass-bg:#1a1a2e99;--glass-border:#ffffff0f;--glass-shadow:0 8px 32px #0006;--accent-primary:#6c63ff;--accent-secondary:#00d4aa;--accent-tertiary:#ff6b6b;--accent-warning:#ffc857;--accent-info:#4ecdc4;--gradient-primary:linear-gradient(135deg, #6c63ff 0%, #4834d4 100%);--gradient-success:linear-gradient(135deg, #00d4aa 0%, #00b894 100%);--gradient-danger:linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);--gradient-warning:linear-gradient(135deg, #ffc857 0%, #f0932b 100%);--gradient-info:linear-gradient(135deg, #4ecdc4 0%, #45b7d1 100%);--gradient-dark:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--gradient-glow:linear-gradient(135deg, #6c63ff1a 0%, #00d4aa1a 100%);--text-primary:#e8e8f0;--text-secondary:#9898b0;--text-muted:#6b6b82;--text-accent:#6c63ff;--border-subtle:#ffffff0f;--border-light:#ffffff1a;--status-online:#00d4aa;--status-warning:#ffc857;--status-critical:#ff6b6b;--status-offline:#6b6b82;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 30px #6c63ff26;--sidebar-width:260px;--header-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);z-index:50;flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:20px 24px;display:flex}.sidebar-brand-icon{background:var(--gradient-primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex;box-shadow:0 4px 12px #6c63ff4d}.sidebar-brand-text{background:linear-gradient(135deg,#6c63ff,#00d4aa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:16px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex}.nav-section-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);padding:16px 12px 8px;font-size:11px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:#6c63ff14}.nav-item.active{color:var(--accent-primary);background:#6c63ff1f}.nav-item.active:before{content:"";background:var(--gradient-primary);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item-icon{justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;display:flex}.nav-badge{background:var(--gradient-danger);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh}.header{height:var(--header-height);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);z-index:40;background:#0a0a0fcc;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.header-title{font-size:20px;font-weight:700}.header-actions{align-items:center;gap:16px;display:flex}.header-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.status-dot.online{background:var(--status-online)}.status-dot.warning{background:var(--status-warning)}.status-dot.critical{background:var(--status-critical)}.status-dot.offline{background:var(--status-offline)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.page-container{padding:28px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:28px;display:grid}.stat-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:24px;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.stat-card.success:before{background:var(--gradient-success)}.stat-card.danger:before{background:var(--gradient-danger)}.stat-card.warning:before{background:var(--gradient-warning)}.stat-card.info:before{background:var(--gradient-info)}.stat-card.primary:before{background:var(--gradient-primary)}.stat-card:hover{box-shadow:var(--shadow-glow);border-color:#ffffff1a;transform:translateY(-2px)}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-card-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.stat-card-icon.success{color:#00d4aa;background:#00d4aa26}.stat-card-icon.danger{color:#ff6b6b;background:#ff6b6b26}.stat-card-icon.warning{color:#ffc857;background:#ffc85726}.stat-card-icon.info{color:#4ecdc4;background:#4ecdc426}.stat-card-icon.primary{color:#6c63ff;background:#6c63ff26}.stat-card-label{color:var(--text-secondary);font-size:13px;font-weight:500}.stat-card-value{margin-top:4px;font-size:32px;font-weight:800;line-height:1}.stat-card-sub{color:var(--text-muted);margin-top:8px;font-size:12px}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-bottom:28px;display:grid}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all .3s;overflow:hidden}.card:hover{border-color:#ffffff1a}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.card-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.card-body{padding:18px 22px}.vps-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;padding:22px;transition:all .3s;position:relative;overflow:hidden}.vps-card:hover{box-shadow:var(--shadow-glow);border-color:#6c63ff4d;transform:translateY(-3px)}.vps-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.vps-card-name{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.vps-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.vps-status-badge.online{color:#00d4aa;background:#00d4aa26;border:1px solid #00d4aa4d}.vps-status-badge.warning{color:#ffc857;background:#ffc85726;border:1px solid #ffc8574d}.vps-status-badge.critical{color:#ff6b6b;background:#ff6b6b26;border:1px solid #ff6b6b4d}.vps-status-badge.offline{color:#6b6b82;background:#6b6b8226;border:1px solid #6b6b824d}.vps-card-metrics{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.metric-bar{flex-direction:column;gap:6px;display:flex}.metric-bar-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;font-size:11px;display:flex}.metric-bar-track{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.metric-bar-fill{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.metric-bar-fill.good{background:var(--gradient-success)}.metric-bar-fill.warn{background:var(--gradient-warning)}.metric-bar-fill.crit{background:var(--gradient-danger)}.vps-card-services{border-top:1px solid var(--border-subtle);color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;font-size:13px;display:flex}.alert-item{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.alert-item:last-child{border-bottom:none}.alert-severity{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.alert-severity.critical{background:#ff6b6b;box-shadow:0 0 8px #ff6b6b66}.alert-severity.high{background:#ff9f43;box-shadow:0 0 8px #ff9f4366}.alert-severity.medium,.alert-severity.warning{background:#ffc857}.alert-severity.low{background:#4ecdc4}.alert-content{flex:1}.alert-title{margin-bottom:4px;font-size:13px;font-weight:500}.alert-meta{color:var(--text-muted);font-size:12px}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);padding:14px 16px;font-size:14px}.data-table tr:hover td{background:#6c63ff0a}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #6c63ff4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6c63ff66}.btn-danger{background:var(--gradient-danger);color:#fff}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-light);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.btn-sm{padding:6px 12px;font-size:12px}.gauge-container{flex-direction:column;align-items:center;gap:8px;display:flex}.gauge-ring{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.gauge-value{font-size:18px;font-weight:700}.gauge-label{color:var(--text-muted);font-size:12px}.login-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle at 30% 40%,#6c63ff0f 0%,#0000 50%),radial-gradient(circle at 70% 60%,#00d4aa0a 0%,#0000 50%);width:200%;height:200%;animation:20s infinite alternate bgFloat;position:absolute;top:-50%;left:-50%}@keyframes bgFloat{0%{transform:translate(0)}to{transform:translate(-3%,-3%)}}.login-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:48px;position:relative}.login-card h1{text-align:center;background:linear-gradient(135deg,#6c63ff,#00d4aa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:28px;font-weight:800}.login-card p{text-align:center;color:var(--text-secondary);margin-bottom:32px}.form-group{margin-bottom:20px}.form-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-input{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:#ffffff0a;outline:none;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6c63ff26}.btn-login{width:100%;margin-top:8px;padding:14px;font-size:15px}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state-icon{margin-bottom:16px;font-size:48px}.empty-state-text{font-size:15px}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.stats-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideIn}
