@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.btn{font-family:var(--font-family);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea80}.btn-success{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px #11998e80}.btn-danger{color:#fff;background:linear-gradient(135deg,#eb3349 0%,#f45c43 100%)}.btn-danger:hover:not(:disabled){box-shadow:0 6px 20px #eb334980}.btn-info{color:#fff;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.btn-info:hover:not(:disabled){box-shadow:0 6px 20px #4facfe80}.btn-warning{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.btn-warning:hover:not(:disabled){box-shadow:0 6px 20px #f5576c80}.btn-secondary{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0d}.btn-secondary:hover:not(:disabled){border-color:var(--accent-cyan);color:var(--text-primary);background:#ffffff1a;box-shadow:0 4px 15px #0003}.btn-ghost{color:var(--text-secondary);background:0 0;padding:8px 12px}.btn-ghost:hover:not(:disabled){color:var(--accent-cyan);box-shadow:none;background:#00d4ff1a;transform:none}.btn-cyan{color:#06b6d4;background:#06b6d426;border:1px solid #06b6d44d}.btn-cyan:hover:not(:disabled){background:#06b6d440;border-color:#06b6d480;box-shadow:0 0 15px #06b6d44d}.btn-sm{padding:6px 12px;font-size:12px}.btn-md{padding:10px 20px;font-size:14px}.btn-lg{padding:14px 28px;font-size:16px}.btn-full{width:100%}.btn-icon{min-width:36px;height:36px;padding:8px}.btn-loading{position:relative;color:#0000!important}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite btn-spin;position:absolute}@keyframes btn-spin{to{transform:rotate(360deg)}}.input-wrapper{gap:var(--space-xs);flex-direction:column;display:flex}.input-label{color:var(--text-secondary);font-size:14px;font-weight:500}.input-label .required{color:var(--danger);margin-left:2px}.input-container{align-items:center;display:flex;position:relative}.input-icon{left:var(--space-md);color:var(--text-muted);pointer-events:none;font-size:18px;position:absolute}.input{width:100%;padding:var(--space-sm)var(--space-md);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:var(--transition-fast);font-size:14px}.input.has-icon{padding-left:44px}.input:focus{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 0 3px #00d4ff1a}.input::placeholder{color:var(--text-muted)}.input:disabled{opacity:.5;cursor:not-allowed}.has-error .input{border-color:var(--danger)}.has-error .input:focus{box-shadow:0 0 0 3px #ef44441a}.input-error{color:var(--danger);font-size:12px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:var(--transition-normal)}.card-hoverable:hover{border-color:var(--accent-cyan);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.card-icon{border-radius:var(--radius-md);background:linear-gradient(135deg,#00d4ff26,#8b5cf626);justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.card-title{color:var(--text-primary);flex:1;font-size:18px;font-weight:600}.card-badge{padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);color:var(--success);text-transform:uppercase;background:#10b98126;border:1px solid #10b9814d;font-size:11px;font-weight:600}.card-content{color:var(--text-secondary);line-height:1.6}.card{box-shadow:0 4px 6px #0000001a,0 10px 30px #0000004d}.card-hoverable:hover{box-shadow:0 20px 50px #0006,0 0 60px #00d4ff1a}.switch-wrapper{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.switch-wrapper.disabled{opacity:.5;cursor:not-allowed}.switch{display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-slider{background:#1e3a5f;border:1px solid #94a3b833;border-radius:20px;transition:all .2s;display:block}.switch-slider:before{content:"";background:#64748b;border-radius:50%;transition:all .2s;position:absolute;box-shadow:0 2px 4px #0003}.switch-sm .switch-slider{width:32px;height:18px}.switch-sm .switch-slider:before{width:14px;height:14px;top:1px;left:2px}.switch-md .switch-slider{width:44px;height:24px}.switch-md .switch-slider:before{width:18px;height:18px;top:2px;left:3px}.switch-lg .switch-slider{width:56px;height:30px}.switch-lg .switch-slider:before{width:24px;height:24px;top:2px;left:3px}.switch.checked .switch-slider{background:linear-gradient(135deg,#00d4ff 0%,#00a8cc 100%);border-color:#00d4ff}.switch.checked .switch-slider:before{background:#fff}.switch-sm.checked .switch-slider:before{transform:translate(14px)}.switch-md.checked .switch-slider:before{transform:translate(20px)}.switch-lg.checked .switch-slider:before{transform:translate(26px)}.switch-label{color:#94a3b8;font-size:14px}.checkbox-wrapper{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.checkbox-wrapper.disabled{opacity:.5;cursor:not-allowed}.checkbox{width:20px;height:20px;position:relative}.checkbox input{opacity:0;width:0;height:0;position:absolute}.checkbox-mark{background:#1e3a5f;border:1px solid #94a3b84d;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.checkbox-mark svg{color:#0a1929;width:14px;height:14px}.checkbox.checked .checkbox-mark{background:linear-gradient(135deg,#00d4ff 0%,#00a8cc 100%);border-color:#00d4ff}.checkbox-wrapper:hover .checkbox-mark{border-color:#00d4ff}.checkbox-label{color:#94a3b8;font-size:14px}.select-wrapper{flex-direction:column;gap:6px;display:flex}.select-label{color:#94a3b8;font-size:13px;font-weight:500}.select-container{position:relative}.select{color:#f0f4f8;cursor:pointer;appearance:none;background:#0f2942;border:1px solid #94a3b833;border-radius:6px;width:100%;padding:10px 36px 10px 12px;font-family:inherit;font-size:14px;transition:all .2s}.select:hover{border-color:#00d4ff4d}.select:focus{border-color:#00d4ff;outline:none;box-shadow:0 0 0 3px #00d4ff1a}.select:disabled{opacity:.5;cursor:not-allowed}.select option{color:#f0f4f8;background:#0d2137}.select-arrow{color:#64748b;pointer-events:none;font-size:10px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.has-error .select{border-color:#ef4444}.select-error{color:#ef4444;font-size:12px}.header{padding:var(--space-md)var(--space-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:100;background:#0a1929d9;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header:after{content:"";background:linear-gradient(90deg,transparent,var(--accent-cyan),var(--accent-purple),var(--accent-cyan),transparent);opacity:.5;height:1px;position:absolute;bottom:0;left:0;right:0}.logo{align-items:center;gap:var(--space-sm);text-decoration:none;display:flex}.nav-links{align-items:center;gap:var(--space-xl);display:flex}.nav-links a{color:var(--text-secondary);transition:var(--transition-fast);font-weight:500}.nav-links a:hover{color:var(--accent-cyan)}@media (max-width:768px){.header{padding:var(--space-md)}.nav-links{display:none}}.footer{padding:var(--space-2xl)var(--space-xl)var(--space-lg);border-top:1px solid var(--border);background:#0a192980}.footer-content{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.footer-brand{gap:var(--space-xs);flex-direction:column;display:flex}.footer-logo{color:var(--accent-cyan);font-size:18px;font-weight:700}.footer-brand p{color:var(--text-muted);font-size:14px}.footer-links{gap:var(--space-xl);display:flex}.footer-links a{color:var(--text-secondary);font-size:14px}.footer-links a:hover{color:var(--accent-cyan)}.footer-bottom{text-align:center;padding-top:var(--space-lg);border-top:1px solid var(--border);color:var(--text-muted);font-size:13px}@media (max-width:768px){.footer-content{gap:var(--space-lg);text-align:center;flex-direction:column}}.app-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;background:linear-gradient(#0d2137fa 0%,#0a1929f2 100%);justify-content:space-between;align-items:center;height:60px;padding:0 30px;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #0000004d}.app-header:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--accent-cyan)20%,var(--accent-purple)50%,var(--accent-cyan)80%,transparent 100%);opacity:.5;height:1px;position:absolute;bottom:0;left:0;right:0}.header-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.logo-icon{filter:drop-shadow(0 0 8px #00d4ff80);font-size:26px}.logo-text{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.header-nav{align-items:center;gap:6px;display:flex}.header-nav a{color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.header-nav a:hover{color:var(--accent-cyan);background:#00d4ff1a}.header-nav a.active{color:var(--accent-cyan);background:#00d4ff26}.nav-icon{font-size:15px}.header-right{align-items:center;gap:15px;display:flex}.header-clock{flex-direction:column;align-items:flex-end;display:flex}.clock-time{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:18px;font-weight:600}.clock-date{color:var(--text-muted);font-size:11px}.header-status{color:var(--success);background:#10b9811a;border:1px solid #10b98133;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.status-dot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.header-actions{align-items:center;gap:8px;display:flex}.header-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;transition:all .2s;display:flex}.header-btn:hover{border-color:var(--accent-cyan);color:var(--text-primary);background:#ffffff1a}.header-btn.logout{color:var(--danger);background:#ef44441a;border-color:#ef44444d}.header-btn.logout:hover{background:#ef444433}@media (max-width:1024px){.header-nav{display:none}}@media (max-width:768px){.app-header{padding:0 16px}.logo-text,.header-clock{display:none}}.header-user{background:#00d4ff14;border:1px solid #00d4ff33;border-radius:6px;flex-direction:column;align-items:flex-end;padding:4px 12px;display:flex}.user-name{color:var(--text-primary);font-size:13px;font-weight:600}.user-company{color:var(--accent-cyan);font-size:11px}.landing{min-height:100vh}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:100px 32px 80px;display:flex}.hero-content{max-width:900px}.hero-badge{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:50px;align-items:center;gap:8px;margin-bottom:32px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.hero h1{color:#f0f4f8;margin-bottom:24px;font-size:56px;font-weight:800;line-height:1.1}.hero h1 span{background:linear-gradient(135deg,#00d4ff,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero>.hero-content>p{color:#94a3b8;max-width:600px;margin:0 auto 40px;font-size:18px;line-height:1.6}.hero-buttons{justify-content:center;gap:16px;display:flex}.features{background:#0d213780;padding:100px 32px}.section-header{text-align:center;margin-bottom:48px}.section-header h2{color:#f0f4f8;margin-bottom:12px;font-size:36px;font-weight:700}.section-header p{color:#94a3b8;font-size:16px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.pricing{text-align:center;padding:100px 32px}.pricing h2{color:#f0f4f8;margin-bottom:16px;font-size:36px;font-weight:700}.pricing p{color:#94a3b8;margin-bottom:32px;font-size:16px}@media (max-width:768px){.hero{padding:80px 20px 60px}.hero h1{font-size:32px}.hero-buttons{flex-direction:column}.features{padding:60px 20px}.section-header h2{font-size:28px}}.auth-page{min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.auth-container{width:100%;max-width:420px}.auth-logo{justify-content:center;align-items:center;gap:var(--space-sm);color:var(--accent-cyan);margin-bottom:var(--space-xl);font-size:24px;font-weight:800;text-decoration:none;display:flex}.auth-logo span{font-size:32px}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-xl)}.auth-card h1{margin-bottom:var(--space-xs);text-align:center;font-size:28px;font-weight:700}.auth-card>p{color:var(--text-secondary);text-align:center;margin-bottom:var(--space-xl)}.auth-card form{gap:var(--space-md);flex-direction:column;display:flex}.auth-options{justify-content:space-between;align-items:center;font-size:14px;display:flex}.remember-me{align-items:center;gap:var(--space-sm);color:var(--text-secondary);cursor:pointer;display:flex}.remember-me input{accent-color:var(--accent-cyan)}.auth-footer{text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border);color:var(--text-secondary);font-size:14px}.auth-footer a{color:var(--accent-cyan);font-weight:600}.auth-card{box-shadow:0 4px 6px #0000001a,0 10px 40px #0006,0 0 80px #00d4ff14,inset 0 1px #ffffff0d}.auth-container{filter:drop-shadow(0 20px 50px #00000080)}.auth-card .btn-primary{box-shadow:0 4px 15px #00d4ff4d,0 0 30px #00d4ff1a}.auth-card .btn-primary:hover{box-shadow:0 6px 25px #00d4ff66,0 0 50px #00d4ff33}.auth-card .input:focus{box-shadow:0 0 0 3px #00d4ff26,0 0 20px #00d4ff1a}.auth-error{color:#ef4444;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);text-align:center;background:#ef444426;border:1px solid #ef44444d;font-size:14px}.dashboard{background:var(--bg-deep);min-height:100vh}.dashboard-content{max-width:1400px;margin:0 auto;padding:32px}.dashboard-welcome{margin-bottom:32px}.dashboard-welcome h1{color:#f0f4f8;margin-bottom:8px;font-size:28px;font-weight:700}.dashboard-welcome p{color:#94a3b8;font-size:15px}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card{align-items:center;gap:16px;display:flex;padding:20px!important}.stat-icon{background:linear-gradient(135deg,#00d4ff26,#8b5cf626);border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.stat-info{flex-direction:column;display:flex}.stat-value{color:#f0f4f8;font-size:32px;font-weight:700;line-height:1}.stat-label{color:#64748b;margin-top:4px;font-size:13px}.dashboard-actions{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.action-card{text-align:center;padding:32px!important}.action-icon{margin-bottom:16px;font-size:40px}.action-card h3{color:#f0f4f8;margin-bottom:8px;font-size:18px;font-weight:600}.action-card p{color:#94a3b8;margin-bottom:20px;font-size:13px;line-height:1.5}@media (max-width:768px){.dashboard-content{padding:20px}.dashboard-welcome h1{font-size:24px}}.modal-network{width:auto;min-width:fit-content;max-width:95vw}.modal-network .modal-body{overflow-x:auto}.modal-subtitle{color:var(--text-secondary);margin-left:10px;font-size:.9rem}.interfaces-table{border-collapse:separate;border-spacing:0;border:1px solid #ffffff26;border-radius:8px;width:100%;font-size:.85rem;overflow:hidden}.interfaces-table th{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#00d4ff14;border-bottom:1px solid #ffffff26;border-right:1px solid #ffffff14;padding:12px 14px;font-size:.75rem;font-weight:500}.interfaces-table th:last-child{border-right:none}.interfaces-table td{vertical-align:middle;text-align:center;white-space:nowrap;border-bottom:1px solid #ffffff14;border-right:1px solid #ffffff14;padding:10px 14px}.interfaces-table td:last-child{border-right:none}.interfaces-table tbody tr:last-child td{border-bottom:none}.interfaces-table tr:hover{background:#00d4ff0d}.interfaces-table tr.row-selected{background:#22c55e1a}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#ffffff26;border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:#22c55e}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.badge-iface{min-width:90px;color:var(--cyan);text-align:center;background:#00d4ff26;border:1px solid #00d4ff4d;border-radius:6px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;display:inline-block}.badge-ip{min-width:110px;color:var(--text-secondary);text-align:center;background:#ffffff0d;border:1px solid #ffffff26;border-radius:6px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.75rem;display:inline-block}.badge-link{color:#a855f7;text-align:center;background:#a855f726;border:1px solid #a855f74d;border-radius:6px;min-width:35px;padding:6px 8px;font-size:.75rem;font-weight:600;display:inline-block}.speed-cell{justify-content:center;align-items:center;gap:6px;display:flex}.speed-mbps{background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:baseline;gap:2px;min-width:80px;padding:6px 8px;font-family:JetBrains Mono,monospace;display:inline-flex}.speed-mbps.rx{color:#22c55e}.speed-mbps.tx{color:#f59e0b}.speed-num{font-size:.85rem;font-weight:600}.speed-unit{opacity:.7;font-size:.6rem}.interfaces-hint{color:var(--text-secondary);background:#00d4ff1a;border-radius:6px;align-items:center;gap:8px;margin-top:16px;padding:12px;font-size:.85rem;display:flex}.hint-icon{font-size:1.1rem}.no-interfaces{text-align:center;color:var(--text-muted);padding:40px}.badge-vlan{color:#f59e0b;text-align:center;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:6px;min-width:45px;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;display:inline-block}.description-input{width:150px;color:var(--text-primary);background:#0000004d;border:1px solid #ffffff26;border-radius:6px;outline:none;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:border-color .2s}.description-input:focus{border-color:var(--cyan)}.description-input::placeholder{color:var(--text-muted);font-style:italic}.servers-page{min-height:100vh}.main-container{max-width:1900px;margin:0 auto;padding:20px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title h1{color:var(--text-primary);align-items:center;gap:10px;margin:0;font-size:22px;font-weight:600;display:flex}.page-title .subtitle{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.page-actions{align-items:center;gap:16px;display:flex}.status-indicator{border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:flex}.status-indicator.online{color:var(--success);background:#10b9811f;border:1px solid #10b98140}.status-indicator.offline{color:var(--danger);background:#ef44441f}.indicator-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.btn-add{color:var(--accent-teal);cursor:pointer;background:#06b6d41f;border:1px solid #06b6d44d;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-add:hover{border-color:var(--accent-teal);background:#06b6d440;transform:translateY(-1px)}.table-container{border:1px solid var(--border);background:#0d213799;border-radius:12px;overflow-x:auto;box-shadow:0 4px 20px #0000004d}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:linear-gradient(#06b6d414 0%,#06b6d408 100%)}.data-table th{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:1px solid #06b6d426;padding:10px 8px;font-size:10px;font-weight:500}.data-table th:first-child{text-align:left;padding-left:10px}.data-table th:nth-child(2),.data-table th:nth-child(3){text-align:left}.data-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle;text-align:center;white-space:nowrap;padding:8px 6px;font-size:12px}.data-table td:first-child{text-align:left;padding-left:10px}.data-table td:nth-child(2),.data-table td:nth-child(3){text-align:left}.data-table tbody tr{transition:all .2s}.data-table tbody tr:hover{background:#06b6d40a}.data-table tbody tr.row-online{border-left:2px solid var(--success);background:linear-gradient(90deg,#10b9810a 0%,#0000 30%)}.data-table tbody tr.row-offline{opacity:.6}.badge-status{border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:65px;padding:5px 12px;font-size:10px;font-weight:600;display:inline-flex}.badge-status.online{color:var(--success);background:#10b98126;border:1px solid #10b9814d}.badge-status.offline{color:var(--text-muted);background:#64748b26;border:1px solid #64748b4d}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.name-primary{color:var(--text-primary);font-size:13px;font-weight:600}.cell-hostname{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.badge-os{color:var(--accent-purple);text-align:center;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:4px;min-width:180px;padding:5px 12px;font-size:10px;font-weight:500;display:inline-block}.cell-agent{justify-content:center;align-items:center;gap:6px;display:flex}.badge-agent{color:var(--accent-teal);background:#06b6d41f;border:1px solid #06b6d440;border-radius:4px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:inline-block}.btn-update-icon{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:4px;transition:all .2s;display:flex}.btn-update-icon svg{width:14px;height:14px}.btn-update-icon.active{color:var(--success);background:#10b98133;animation:2s ease-in-out infinite spin-hint}.btn-update-icon.active:hover{background:var(--success);color:#000;transform:scale(1.1)}.btn-update-icon.disabled{color:var(--text-muted);cursor:default;opacity:.4;background:#64748b1a}@keyframes spin-hint{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}.badge-ip{color:var(--accent-teal);text-align:center;background:#06b6d414;border:1px solid #06b6d433;border-radius:4px;min-width:125px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-block}.cell-country{color:var(--text-secondary);font-size:11px;font-weight:500}.cell-city{color:var(--accent-purple);font-size:11px;font-weight:500}.signal-bar-container{border:1px solid var(--border);background:#ffffff0d;border-radius:4px;min-width:65px;height:22px;position:relative;overflow:hidden}.signal-bar-fill{border-radius:3px;height:100%;transition:width .5s}.signal-bar-fill.cyan{background:linear-gradient(90deg,#00a8cc,#00d4ff)}.signal-bar-fill.purple{background:linear-gradient(90deg,#7c3aed,#a855f7)}.signal-bar-fill.green{background:linear-gradient(90deg,#059669,#10b981)}.signal-bar-fill.warning{background:linear-gradient(90deg,#d97706,#f59e0b)}.signal-bar-fill.critical{background:linear-gradient(90deg,#dc2626,#ef4444)}.signal-bar-text{color:#fff;text-shadow:0 1px 3px #000000b3;font-size:10px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.no-data{color:var(--text-muted);font-size:14px}.badge-uptime{width:70px;min-width:65px;color:var(--accent-purple);background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:4px;justify-content:center;align-items:center;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;display:inline-flex}.cell-actions{justify-content:center;gap:4px;display:flex}.btn-action{cursor:pointer;background:#ffffff0d;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;transition:all .2s;display:inline-flex}.btn-action:hover{transform:translateY(-1px)}.btn-restart{background:#3b82f61a;border-color:#3b82f64d}.btn-restart:hover{background:#3b82f6}.btn-reboot{background:#f59e0b1a;border-color:#f59e0b4d}.btn-reboot:hover{background:var(--warning)}.btn-logs{background:#8b5cf61a;border-color:#8b5cf64d}.btn-logs:hover{background:var(--accent-purple)}.btn-install{background:#10b9811a;border-color:#10b9814d}.btn-install:hover{background:var(--success)}.btn-edit{background:#f59e0b1a;border-color:#f59e0b4d}.btn-edit:hover{background:var(--warning)}.btn-delete{background:#ef44441a;border-color:#ef44444d}.btn-delete:hover{background:var(--danger)}.empty-state,.loading-state{text-align:center;border:1px solid var(--border);background:#0d213799;border-radius:12px;padding:80px 40px}.empty-icon{margin-bottom:20px;font-size:64px}.empty-state h3{color:var(--text-primary);margin:0 0 8px;font-size:20px}.empty-state p{color:var(--text-muted);margin:0 0 24px}.command-toast{z-index:2000;border-radius:12px;max-width:500px;padding:16px 24px;animation:.3s slideIn;position:fixed;top:80px;right:24px;box-shadow:0 8px 32px #0000004d}.command-toast.success{color:#fff;background:linear-gradient(135deg,#10b981f2,#059669f2)}.command-toast.pending{color:#fff;background:linear-gradient(135deg,#00d4fff2,#06b6d4f2)}.command-toast.error{color:#fff;background:linear-gradient(135deg,#ef4444f2,#dc2626f2)}.toast-logs{white-space:pre-wrap;background:#0000004d;border-radius:8px;max-height:200px;margin-top:12px;padding:10px;font-family:JetBrains Mono,monospace;font-size:10px;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:linear-gradient(180deg,var(--bg-card)0%,var(--bg-deep)100%);border:1px solid var(--border);border-radius:16px;width:100%;max-width:480px;position:relative;box-shadow:0 25px 60px #00000080}.modal-lg{max-width:600px}.modal-close{width:36px;height:36px;color:var(--danger);cursor:pointer;background:#ef44441a;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:20px}.modal-close:hover{background:#ef444440}.modal-header{border-bottom:1px solid var(--border);padding:24px 24px 16px}.modal-header h2{color:var(--accent-teal);margin:0;font-size:18px;font-weight:600}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border);background:#0003;border-radius:0 0 16px 16px;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-error{color:var(--danger);background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-bottom:16px;padding:12px;font-size:13px}.btn-cancel{color:var(--text-secondary);cursor:pointer;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid #64748b4d;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel:hover{color:var(--text-primary);background:linear-gradient(135deg,#334155,#475569)}.btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0d9488,#14b8a6);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.btn-save:hover{background:linear-gradient(135deg,#14b8a6,#2dd4bf);transform:translateY(-1px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.install-info{color:var(--text-secondary);margin-bottom:12px}.install-command{border:1px solid var(--border);background:#0000004d;border-radius:8px;gap:12px;padding:16px;display:flex}.install-command code{color:var(--accent-cyan);word-break:break-all;flex:1;font-family:JetBrains Mono,monospace;font-size:12px}.btn-copy{color:var(--accent-teal);cursor:pointer;white-space:nowrap;background:#06b6d426;border:1px solid #06b6d44d;border-radius:6px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s}.btn-copy:hover{background:var(--accent-teal);color:#000}.modal-confirm{text-align:center;max-width:420px;padding:32px}.confirm-icon{margin-bottom:16px;font-size:56px}.modal-confirm h2{color:var(--text-primary);margin-bottom:12px;font-size:22px}.modal-confirm p{color:var(--text-secondary);white-space:pre-line;margin-bottom:28px;font-size:14px;line-height:1.6}.modal-confirm.warning{border-color:#f59e0b66}.modal-confirm.danger{border-color:#ef444466}.modal-confirm.cyan{border-color:#00d4ff66}.modal-confirm.blue{border-color:#3b82f666}.confirm-buttons{gap:12px;display:flex}.btn-confirm{cursor:pointer;border:none;border-radius:10px;flex:1;padding:14px 24px;font-size:14px;font-weight:600;transition:all .2s}.btn-confirm.cyan{background:linear-gradient(135deg,var(--accent-teal),var(--accent-cyan));color:#000}.btn-confirm.blue{color:#fff;background:linear-gradient(135deg,#3b82f6,#60a5fa)}.btn-confirm.warning{color:#000;background:linear-gradient(135deg,#f59e0b,#fbbf24)}.btn-confirm.danger{color:#fff;background:linear-gradient(135deg,#ef4444,#f87171)}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.cell-network{flex-direction:column;gap:4px;min-width:120px;display:flex}.network-header{align-items:center;gap:6px;font-size:.75rem;display:flex}.network-icon{width:14px;height:14px;stroke:var(--cyan);flex-shrink:0}.network-iface{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.7rem}.network-link{color:var(--cyan);margin-left:auto;font-size:.7rem;font-weight:600}.network-speed{align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.8rem;display:flex}.speed-rx{color:#22c55e;font-weight:500}.speed-tx{color:#f59e0b;font-weight:500}.speed-unit{color:var(--text-muted);font-size:.65rem}.cell-network-v2{align-items:center;gap:8px;display:flex}.network-interfaces{flex-direction:column;gap:4px;display:flex}.net-iface{background:#0003;border-radius:4px;flex-direction:column;gap:2px;min-width:100px;padding:4px 8px;display:flex}.net-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.net-name{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.7rem}.net-link{color:var(--cyan);font-size:.65rem;font-weight:600}.net-speeds{gap:8px;font-family:JetBrains Mono,monospace;font-size:.75rem;display:flex}.net-rx{color:#22c55e}.net-tx,.net-rx.warning,.net-tx.warning{color:#f59e0b}.net-rx.critical,.net-tx.critical{color:#ef4444}.btn-network-settings{cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:4px;transition:all .2s;display:flex}.btn-network-settings:hover{border-color:var(--cyan);background:#00d4ff33}.btn-network-settings svg{width:14px;height:14px;stroke:var(--text-secondary)}.btn-network-settings:hover svg{stroke:var(--cyan)}.cell-network-compact{flex-direction:column;gap:4px;display:flex}.net-row{align-items:center;gap:6px;display:flex}.net-badge-name{width:70px;min-width:70px;color:var(--cyan);text-align:center;background:#00d4ff26;border:1px solid #00d4ff4d;border-radius:4px;min-width:65px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.net-badge-rx{background:#0000004d;border:1px solid #22c55e66;border-radius:4px;justify-content:center;align-items:baseline;gap:2px;width:70px;min-width:70px;padding:4px 8px;display:inline-flex}.net-badge-rx .net-val{color:#22c55e;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600}.net-badge-rx .net-unit{color:#22c55eb3;font-size:.6rem}.net-badge-tx{background:#0000004d;border:1px solid #f59e0b66;border-radius:4px;justify-content:center;align-items:baseline;gap:2px;width:70px;min-width:70px;padding:4px 8px;display:inline-flex}.net-badge-tx .net-val{color:#f59e0b;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600}.net-badge-tx .net-unit{color:#f59e0bb3;font-size:.6rem}.net-settings-btn{cursor:pointer;color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.net-settings-btn:hover{border-color:var(--cyan);color:var(--cyan);background:#00d4ff33}:root{--bg-deep:#0a1929;--bg-card:#0d2137;--bg-hover:#132f4c;--bg-input:#0f2942;--accent-cyan:#00d4ff;--accent-teal:#06b6d4;--accent-purple:#8b5cf6;--accent-pink:#ec4899;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--text-primary:#f0f4f8;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#94a3b81a;--border-hover:#00d4ff4d;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 20px #0000004d;--shadow-lg:0 10px 40px #0006;--shadow-glow:0 0 20px #00d4ff4d;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 15% 10%,#06b6d40f 0%,#0000 50%),radial-gradient(at 85% 90%,#8b5cf60a 0%,#0000 50%),radial-gradient(#00d4ff05 0%,#0000 70%);position:fixed;inset:0}a{color:var(--accent-cyan);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-teal)}::selection{background:var(--accent-cyan);color:var(--bg-deep)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--accent-teal);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}
