@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
:root{--primary:#0e941d;--primary-hover:#064a14;--primary-light:#0284c726;--success:#10b981;--success-hover:#059669;--success-light:#10b98126;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#f59e0b26;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#ef444426;--offline:#64748b;--offline-light:#64748b26;--bg-base:#f1f5f9;--bg-surface:#fffc;--bg-card:#ffffffb3;--border-color:#e2e8f0cc;--border-focus:#0284c7;--text-main:#0f172a;--text-muted:#475569;--text-inverse:#fff;--glass-blur:blur(12px);--glass-shadow:0 8px 32px 0 #1f26870d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--header-height:70px;--nav-height:60px}@media (prefers-color-scheme:dark){:root{--bg-base:#0b0f19;--bg-surface:#111827d9;--bg-card:#1e293b80;--border-color:#ffffff14;--border-focus:#38bdf8;--text-main:#f8fafc;--text-muted:#94a3b8;--text-inverse:#0f172a;--glass-shadow:0 8px 32px 0 #0000005e}}*{box-sizing:border-box;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{background:var(--bg-base);color:var(--text-main);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);flex-direction:column;display:flex;overflow-x:hidden}body{position:relative}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast)}.glass-panel:hover{border-color:#0284c740}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.badge{border-radius:var(--border-radius-full);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;line-height:1;display:inline-flex}.badge-ok{background:var(--success-light);color:var(--success);border:1px solid #10b98133}.badge-warning{background:var(--warning-light);color:var(--warning);border:1px solid #f59e0b33}.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid #ef444433}.badge-offline{background:var(--offline-light);color:var(--offline);border:1px solid #64748b33}.btn{border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background:0 0}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.form-control{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-main);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 14px;font-size:.95rem}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-control::placeholder{color:var(--text-muted);opacity:.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal) forwards}
