:root{--bg-base:#f1f5f9;--bg-card:#fff;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-sidebar-active:#6366f126;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#f8fafc;--accent:#6366f1;--accent-hover:#4f46e5;--success:#10b981;--success-bg:#10b9811f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--error:#ef4444;--error-bg:#ef44441f;--neutral:#64748b;--neutral-bg:#64748b1f;--border:#e2e8f0;--border-subtle:#f1f5f9;--shadow-sm:0 1px 2px #0000000d;--shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000f;--sidebar-width:260px;--sidebar-collapsed:72px;--radius:10px;--radius-sm:6px;--space:24px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;background:var(--bg-base);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}.dash-page-title,body{color:#0f172a;color:var(--text-primary)}.dash-page-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.dash-page-desc{color:#475569;color:var(--text-secondary);font-size:.9375rem;margin-bottom:24px;margin-bottom:var(--space)}.dash-card{background:#fff;background:var(--bg-card);border:1px solid #f1f5f9;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000f;box-shadow:var(--shadow);overflow:hidden}.dash-card-body{padding:24px;padding:var(--space)}.dash-stats{grid-gap:24px;grid-gap:var(--space);display:grid;gap:24px;gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:24px;margin-bottom:var(--space)}.dash-stat{background:#fff;background:var(--bg-card);border:1px solid #f1f5f9;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:20px}.dash-stat-label{color:#94a3b8;color:var(--text-muted);font-size:.8125rem;font-weight:500;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.dash-stat-value{color:#0f172a;color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.dash-stat-value.success{color:#10b981;color:var(--success)}.dash-stat-value.warning{color:#f59e0b;color:var(--warning)}.dash-stat-value.error{color:#ef4444;color:var(--error)}.dash-btn{align-items:center;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9375rem;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:background .15s,transform .05s}.dash-btn:active{transform:scale(.98)}.dash-btn:disabled{cursor:not-allowed;opacity:.6}.dash-btn-primary{background:#6366f1;background:var(--accent);color:#fff}.dash-btn-primary:hover:not(:disabled){background:#4f46e5;background:var(--accent-hover)}.dash-btn-success{background:#10b981;background:var(--success);color:#fff}.dash-btn-success:hover:not(:disabled){filter:brightness(1.05)}.dash-btn-ghost{background:#f1f5f9;background:var(--bg-base);color:#475569;color:var(--text-secondary)}.dash-btn-ghost:hover:not(:disabled){background:#e2e8f0;background:var(--border)}.dash-btn-danger{background:#ef4444;background:var(--error);color:#fff}.dash-btn-danger:hover:not(:disabled){filter:brightness(1.05)}.dash-btn-sm{font-size:.8125rem;padding:6px 12px}.dash-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:capitalize}.dash-badge-ok{background:#10b9811f;background:var(--success-bg);color:#10b981;color:var(--success)}.dash-badge-degraded{background:#f59e0b1f;background:var(--warning-bg);color:#f59e0b;color:var(--warning)}.dash-badge-error{background:#ef44441f;background:var(--error-bg);color:#ef4444;color:var(--error)}.dash-badge-disabled{background:#64748b1f;background:var(--neutral-bg);color:#64748b;color:var(--neutral)}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;font-size:.9375rem;width:100%}.dash-table th{background:#f1f5f9;background:var(--bg-base);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#475569;color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase}.dash-table td,.dash-table th{padding:14px 24px;padding:14px var(--space)}.dash-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.dash-table tbody tr:hover{background:#f1f5f9;background:var(--border-subtle)}.dash-table tbody tr:last-child td{border-bottom:none}.dash-input{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.9375rem;padding:10px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.dash-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f126;outline:none}.dash-input::placeholder{color:#94a3b8;color:var(--text-muted)}.dash-label{color:#475569;color:var(--text-secondary);display:block;font-size:.8125rem;font-weight:500;margin-bottom:6px}.dash-alert{border-radius:6px;border-radius:var(--radius-sm);font-size:.9375rem;margin-bottom:24px;margin-bottom:var(--space);padding:14px 24px;padding:14px var(--space)}.dash-alert-success{background:#10b9811f;background:var(--success-bg);color:#047857}.dash-alert-error{background:#ef44441f;background:var(--error-bg);color:#ef4444;color:var(--error)}.dash-main{flex:1 1;min-width:0;padding:24px;padding:var(--space);transition:margin-left .2s ease}.dash-empty{font-size:.9375rem;padding:48px 24px;padding:48px var(--space);text-align:center}.dash-empty,.dash-mono{color:#94a3b8;color:var(--text-muted)}.dash-mono{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.8125rem;word-break:break-all}.dash-screen-center{align-items:center;background:#f1f5f9;background:var(--bg-base);color:#475569;color:var(--text-secondary);display:flex;font-size:1rem;justify-content:center;min-height:100vh}.dash-login-wrap{max-width:420px;padding:20px;width:100%}.dash-login-card{background:#fff;background:var(--bg-card);border:1px solid #f1f5f9;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000f;box-shadow:var(--shadow-lg);padding:40px}.dash-login-title{color:#0f172a;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.dash-login-desc{color:#475569;color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin-bottom:28px}.dash-login-form .dash-input{margin-bottom:16px}.dash-login-form .dash-btn{margin-top:8px;padding:12px;width:100%}.dash-node-grid{grid-gap:24px;grid-gap:var(--space);display:grid;gap:24px;gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.dash-node-card{background:#fff;background:var(--bg-card);border:1px solid #f1f5f9;border-left:4px solid #e2e8f0;border:1px solid var(--border-subtle);border-left:4px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:24px;padding:var(--space);transition:box-shadow .15s,border-color .15s}.dash-node-card:hover{box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000f;box-shadow:var(--shadow)}.dash-node-card.border-ok{border-left-color:#10b981;border-left-color:var(--success)}.dash-node-card.border-warn{border-left-color:#f59e0b;border-left-color:var(--warning)}.dash-node-card.border-err{border-left-color:#ef4444;border-left-color:var(--error)}.dash-node-card.border-off{border-left-color:#64748b;border-left-color:var(--neutral)}.dash-node-card-title{color:#0f172a;color:var(--text-primary);font-weight:600;margin-bottom:4px}.dash-node-card-meta{color:#475569;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:16px;margin-top:14px}.dash-node-card-meta span{align-items:center;display:flex;gap:6px}.dash-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--space)}
/*# sourceMappingURL=main.b07f050b.css.map*/