.login-page[data-v-825e8ad9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f1f5f9;position:relative;overflow:hidden;padding:24px}.login-bg[data-v-825e8ad9]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.orb[data-v-825e8ad9]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.orb-1[data-v-825e8ad9]{width:600px;height:600px;background:#c7d2fe;top:-200px;left:-100px}.orb-2[data-v-825e8ad9]{width:400px;height:400px;background:#ddd6fe;bottom:-100px;right:-50px}.orb-3[data-v-825e8ad9]{width:300px;height:300px;background:#bfdbfe;top:50%;left:50%;transform:translate(-50%,-50%)}.login-card[data-v-825e8ad9]{background:#fff;border-radius:24px;padding:48px;width:100%;max-width:440px;box-shadow:var(--shadow-lg);position:relative;z-index:1}.login-logo[data-v-825e8ad9]{display:flex;align-items:center;gap:12px;margin-bottom:32px}.login-logo-text[data-v-825e8ad9]{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.3px}.login-title[data-v-825e8ad9]{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.5px;margin-bottom:6px}.login-sub[data-v-825e8ad9]{font-size:14px;color:var(--text-muted);margin-bottom:32px}.login-form[data-v-825e8ad9]{display:flex;flex-direction:column;gap:20px}.field[data-v-825e8ad9]{display:flex;flex-direction:column;gap:8px}.field label[data-v-825e8ad9]{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.3px}.input-wrap[data-v-825e8ad9]{position:relative;display:flex;align-items:center}.input-wrap input[data-v-825e8ad9]{width:100%;padding:12px 40px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text);background:var(--bg);transition:border-color .2s,box-shadow .2s;outline:none}.input-wrap input[data-v-825e8ad9]::placeholder{color:var(--text-muted)}.input-wrap input[data-v-825e8ad9]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:#fff}.input-icon[data-v-825e8ad9]{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.pass-toggle[data-v-825e8ad9]{position:absolute;right:14px;background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:0;transition:color .2s}.pass-toggle[data-v-825e8ad9]:hover{color:var(--primary)}.error-banner[data-v-825e8ad9]{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;font-weight:500}.btn-login[data-v-825e8ad9]{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .15s;display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:4px}.btn-login[data-v-825e8ad9]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-login[data-v-825e8ad9]:active:not(:disabled){transform:translateY(0)}.btn-login[data-v-825e8ad9]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-825e8ad9]{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-825e8ad9 .7s linear infinite}@keyframes spin-825e8ad9{to{transform:rotate(360deg)}}.server-card[data-v-bc4d1223]{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1.5px solid var(--border);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:18px}.server-card[data-v-bc4d1223]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.server-card.error[data-v-bc4d1223]{border-color:#fca5a5}.card-header[data-v-bc4d1223]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.server-info[data-v-bc4d1223]{display:flex;align-items:flex-start;gap:12px}.status-dot[data-v-bc4d1223]{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0;position:relative}.status-dot[data-v-bc4d1223]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;opacity:.3;animation:pulse-bc4d1223 2s ease infinite}.status-dot.success[data-v-bc4d1223]{background:var(--success)}.status-dot.success[data-v-bc4d1223]:after{background:var(--success)}.status-dot.warning[data-v-bc4d1223]{background:var(--warning)}.status-dot.warning[data-v-bc4d1223]:after{background:var(--warning)}.status-dot.danger[data-v-bc4d1223]{background:var(--danger)}.status-dot.danger[data-v-bc4d1223]:after{background:var(--danger)}.status-dot.gray[data-v-bc4d1223]{background:var(--text-muted)}.status-dot.red[data-v-bc4d1223]{background:var(--danger)}@keyframes pulse-bc4d1223{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:.1}}.server-name[data-v-bc4d1223]{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.2px;line-height:1.3}.server-tag[data-v-bc4d1223]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.refresh-btn[data-v-bc4d1223]{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:7px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.refresh-btn[data-v-bc4d1223]:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.refresh-btn[data-v-bc4d1223]:disabled{opacity:.5;cursor:default}.spinning[data-v-bc4d1223]{animation:spin-bc4d1223 .7s linear infinite}@keyframes spin-bc4d1223{to{transform:rotate(360deg)}}.skeleton-wrap[data-v-bc4d1223]{display:flex;flex-direction:column;gap:12px}.skeleton[data-v-bc4d1223]{height:14px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;border-radius:99px;animation:shimmer-bc4d1223 1.4s ease infinite}.skeleton.short[data-v-bc4d1223]{width:60%}@keyframes shimmer-bc4d1223{to{background-position:-200% 0}}.error-state[data-v-bc4d1223]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 0;color:var(--danger)}.error-state p[data-v-bc4d1223]{font-size:14px;font-weight:600}.error-state span[data-v-bc4d1223]{font-size:12px;color:var(--text-muted)}.card-body[data-v-bc4d1223]{display:flex;flex-direction:column;gap:16px}.metric[data-v-bc4d1223]{display:flex;flex-direction:column;gap:6px}.metric-header[data-v-bc4d1223]{display:flex;align-items:center;justify-content:space-between}.metric-label[data-v-bc4d1223]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-bc4d1223]{font-size:13px;font-weight:700}.metric-value.success[data-v-bc4d1223]{color:var(--success)}.metric-value.warning[data-v-bc4d1223]{color:var(--warning)}.metric-value.danger[data-v-bc4d1223]{color:var(--danger)}.bar-track[data-v-bc4d1223]{height:6px;background:var(--bg);border-radius:99px;overflow:hidden}.bar-fill[data-v-bc4d1223]{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.bar-fill.success[data-v-bc4d1223]{background:linear-gradient(90deg,#34d399,var(--success))}.bar-fill.warning[data-v-bc4d1223]{background:linear-gradient(90deg,#fcd34d,var(--warning))}.bar-fill.danger[data-v-bc4d1223]{background:linear-gradient(90deg,#f87171,var(--danger))}.bar-caption[data-v-bc4d1223]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.uptime-row[data-v-bc4d1223]{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:var(--radius-xs);padding:10px 12px;color:var(--text-secondary)}.uptime-label[data-v-bc4d1223]{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex:1}.uptime-val[data-v-bc4d1223]{font-size:12px;font-weight:600;color:var(--text)}.card-footer[data-v-bc4d1223]{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:12px;margin-top:-4px}.overlay[data-v-e3227cbe]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal[data-v-e3227cbe]{background:var(--surface);border-radius:20px;width:100%;max-width:520px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header[data-v-e3227cbe]{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 28px 0;gap:16px}.modal-title-wrap[data-v-e3227cbe]{display:flex;align-items:flex-start;gap:14px}.modal-icon[data-v-e3227cbe]{width:42px;height:42px;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header h2[data-v-e3227cbe]{font-size:18px;font-weight:700;color:var(--text);margin-bottom:2px}.modal-header p[data-v-e3227cbe]{font-size:13px;color:var(--text-muted)}.close-btn[data-v-e3227cbe]{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;transition:all .2s;flex-shrink:0}.close-btn[data-v-e3227cbe]:hover{background:#fee2e2;border-color:#fca5a5;color:var(--danger)}.modal-body[data-v-e3227cbe]{padding:24px 28px 28px;display:flex;flex-direction:column;gap:20px}.field[data-v-e3227cbe]{display:flex;flex-direction:column;gap:8px}.field label[data-v-e3227cbe]{font-size:13px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.label-hint[data-v-e3227cbe]{font-size:11px;font-weight:400;color:var(--text-muted)}.field input[data-v-e3227cbe],.field textarea[data-v-e3227cbe]{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;color:var(--text);background:var(--bg);transition:border-color .2s,box-shadow .2s;outline:none;resize:vertical}.field input[data-v-e3227cbe]::placeholder,.field textarea[data-v-e3227cbe]::placeholder{color:var(--text-muted)}.field textarea[data-v-e3227cbe]{font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6}.field input[data-v-e3227cbe]:focus,.field textarea[data-v-e3227cbe]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:#fff}.error-banner[data-v-e3227cbe]{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;font-weight:500}.success-banner[data-v-e3227cbe]{display:flex;align-items:center;gap:8px;background:#f0fdf4;border:1px solid #86efac;color:#16a34a;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;font-weight:500}.modal-actions[data-v-e3227cbe]{display:flex;gap:12px;justify-content:flex-end}.btn-secondary[data-v-e3227cbe]{padding:10px 20px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-xs);font-size:14px;font-weight:600;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-secondary[data-v-e3227cbe]:hover{border-color:var(--text-muted)}.btn-primary[data-v-e3227cbe]{padding:10px 24px;background:linear-gradient(135deg,var(--primary),#8b5cf6);border:none;border-radius:var(--radius-xs);font-size:14px;font-weight:600;font-family:inherit;color:#fff;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;min-width:140px;min-height:40px}.btn-primary[data-v-e3227cbe]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-e3227cbe]:disabled{opacity:.7;cursor:not-allowed}.spinner[data-v-e3227cbe]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-e3227cbe .7s linear infinite}@keyframes spin-e3227cbe{to{transform:rotate(360deg)}}.dashboard[data-v-5299e6ea]{display:flex;min-height:100vh;background:var(--bg)}.sidebar[data-v-5299e6ea]{width:260px;flex-shrink:0;background:var(--surface);border-right:1.5px solid var(--border);display:flex;flex-direction:column;padding:24px 16px;gap:8px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo[data-v-5299e6ea]{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.3px;border-bottom:1.5px solid var(--border);margin-bottom:8px}.sidebar-nav[data-v-5299e6ea]{display:flex;flex-direction:column;gap:4px}.nav-item[data-v-5299e6ea]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;text-decoration:none;transition:all .15s}.nav-item[data-v-5299e6ea]:hover{background:var(--bg)}.nav-item.active[data-v-5299e6ea]{background:var(--primary-light);color:var(--primary);font-weight:600}.sidebar-stats[data-v-5299e6ea]{background:var(--bg);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:12px;margin-top:8px}.stat-item[data-v-5299e6ea]{display:flex;align-items:center;justify-content:space-between}.stat-num[data-v-5299e6ea]{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.5px}.stat-num.success[data-v-5299e6ea]{color:var(--success)}.stat-num.danger[data-v-5299e6ea]{color:var(--danger)}.stat-label[data-v-5299e6ea]{font-size:12px;color:var(--text-muted);font-weight:500}.sidebar-bottom[data-v-5299e6ea]{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1.5px solid var(--border)}.btn-add-server[data-v-5299e6ea]{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s}.btn-add-server[data-v-5299e6ea]:hover{opacity:.9}.btn-logout[data-v-5299e6ea]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;color:var(--text-muted);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s}.btn-logout[data-v-5299e6ea]:hover{background:#fee2e2;border-color:#fca5a5;color:var(--danger)}.main[data-v-5299e6ea]{flex:1;min-width:0;display:flex;flex-direction:column;padding:32px;gap:28px}.topbar[data-v-5299e6ea]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar-left h1[data-v-5299e6ea]{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.5px}.topbar-left p[data-v-5299e6ea]{font-size:14px;color:var(--text-muted);margin-top:4px}.topbar-actions[data-v-5299e6ea]{display:flex;gap:10px}.btn-refresh-all[data-v-5299e6ea],.btn-add-top[data-v-5299e6ea]{display:flex;align-items:center;gap:7px;padding:10px 18px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.btn-refresh-all[data-v-5299e6ea]{background:var(--surface);border:1.5px solid var(--border);color:var(--text-secondary)}.btn-refresh-all[data-v-5299e6ea]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-refresh-all[data-v-5299e6ea]:disabled{opacity:.5;cursor:not-allowed}.btn-add-top[data-v-5299e6ea]{background:linear-gradient(135deg,var(--primary),#8b5cf6);border:none;color:#fff}.btn-add-top[data-v-5299e6ea]:hover{opacity:.9}.spinning[data-v-5299e6ea]{animation:spin-5299e6ea .7s linear infinite}@keyframes spin-5299e6ea{to{transform:rotate(360deg)}}.loading-state[data-v-5299e6ea]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 0;color:var(--text-muted);font-size:14px}.loading-spinner[data-v-5299e6ea]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-5299e6ea .8s linear infinite}.fetch-error[data-v-5299e6ea]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 0;color:var(--danger);text-align:center}.fetch-error h3[data-v-5299e6ea]{font-size:18px;font-weight:700}.fetch-error p[data-v-5299e6ea]{font-size:14px;color:var(--text-muted)}.fetch-error button[data-v-5299e6ea]{margin-top:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.empty-state[data-v-5299e6ea]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 0;color:var(--text);text-align:center}.empty-icon[data-v-5299e6ea]{width:80px;height:80px;background:var(--primary-light);color:var(--primary);border-radius:24px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.empty-state h3[data-v-5299e6ea]{font-size:18px;font-weight:700}.empty-state p[data-v-5299e6ea]{font-size:14px;color:var(--text-muted);margin-bottom:4px}.empty-state button[data-v-5299e6ea]{display:flex;align-items:center;gap:7px;margin-top:8px;padding:11px 22px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.server-grid[data-v-5299e6ea]{flex:1}.grid-inner[data-v-5299e6ea]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;align-items:start}@media (max-width: 900px){.sidebar[data-v-5299e6ea]{display:none}.main[data-v-5299e6ea]{padding:20px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #e0e7ff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(0,0,0,.07), 0 1px 4px rgba(0,0,0,.04);--shadow-lg: 0 20px 48px rgba(0,0,0,.1), 0 4px 16px rgba(0,0,0,.06);--radius: 16px;--radius-sm: 10px;--radius-xs: 6px}html,body,#app{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.slide-up-leave-active{transition:all .2s ease}.slide-up-enter-from{opacity:0;transform:translateY(24px) scale(.96)}.slide-up-leave-to{opacity:0;transform:translateY(-8px) scale(.98)}
