@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.toast-container[data-v-dc4d1757]{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-item[data-v-dc4d1757]{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000004d;min-width:260px;max-width:420px;animation:toastIn-dc4d1757 .3s ease}.toast-item.success[data-v-dc4d1757]{background:#2ea043e6;color:#fff}.toast-item.error[data-v-dc4d1757]{background:#f85149e6;color:#fff}.toast-item.warning[data-v-dc4d1757]{background:#d29922e6;color:#fff}.toast-item.info[data-v-dc4d1757]{background:#58a6ffe6;color:#fff}.toast-icon[data-v-dc4d1757]{font-size:16px;flex-shrink:0}.toast-exit[data-v-dc4d1757]{animation:toastOut-dc4d1757 .3s ease forwards}@keyframes toastIn-dc4d1757{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut-dc4d1757{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-enter-active[data-v-dc4d1757]{animation:toastIn-dc4d1757 .3s ease}.toast-leave-active[data-v-dc4d1757]{animation:toastOut-dc4d1757 .3s ease}@media (max-width: 768px){.toast-container[data-v-dc4d1757]{top:12px;right:12px;left:12px}.toast-item[data-v-dc4d1757]{min-width:unset;max-width:unset}}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}:root,[data-theme=dark]{--bg-color: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2128;--panel-bg: rgba(22, 27, 34, .75);--panel-border: rgba(255, 255, 255, .06);--panel-shadow: 0 8px 32px rgba(0, 0, 0, .3);--panel-hover: rgba(255, 255, 255, .03);--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--primary-color: #58a6ff;--primary-hover: #79b8ff;--primary-bg: rgba(88, 166, 255, .1);--primary-border: rgba(88, 166, 255, .3);--accent-color: #bc8cff;--accent-bg: rgba(188, 140, 255, .1);--success: #2ea043;--success-bg: rgba(46, 160, 67, .15);--success-border: rgba(46, 160, 67, .3);--danger: #f85149;--danger-bg: rgba(248, 81, 73, .15);--danger-border: rgba(248, 81, 73, .3);--warning: #d29922;--warning-bg: rgba(210, 153, 34, .15);--warning-border: rgba(210, 153, 34, .3);--info: #58a6ff;--input-bg: rgba(0, 0, 0, .3);--input-border: rgba(255, 255, 255, .1);--input-focus-border: var(--primary-color);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--glow-primary: 0 0 20px rgba(88, 166, 255, .15);--glow-accent: 0 0 20px rgba(188, 140, 255, .15);--scrollbar-bg: transparent;--scrollbar-thumb: rgba(255, 255, 255, .1)}[data-theme=light]{--bg-color: #f6f8fa;--bg-secondary: #ffffff;--bg-tertiary: #f0f3f6;--panel-bg: rgba(255, 255, 255, .85);--panel-border: rgba(0, 0, 0, .08);--panel-shadow: 0 4px 24px rgba(0, 0, 0, .08);--panel-hover: rgba(0, 0, 0, .02);--text-primary: #1f2328;--text-secondary: #656d76;--text-muted: #b1bac4;--primary-color: #0969da;--primary-hover: #0550ae;--primary-bg: rgba(9, 105, 218, .08);--primary-border: rgba(9, 105, 218, .3);--accent-color: #8250df;--accent-bg: rgba(130, 80, 223, .08);--success: #1a7f37;--success-bg: rgba(26, 127, 55, .1);--success-border: rgba(26, 127, 55, .3);--danger: #cf222e;--danger-bg: rgba(207, 34, 46, .1);--danger-border: rgba(207, 34, 46, .3);--warning: #9a6700;--warning-bg: rgba(154, 103, 0, .1);--warning-border: rgba(154, 103, 0, .3);--info: #0969da;--input-bg: rgba(0, 0, 0, .04);--input-border: rgba(0, 0, 0, .15);--input-focus-border: var(--primary-color);--glow-primary: 0 0 16px rgba(9, 105, 218, .1);--glow-accent: 0 0 16px rgba(130, 80, 223, .1);--scrollbar-bg: transparent;--scrollbar-thumb: rgba(0, 0, 0, .12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;overflow-x:hidden;overscroll-behavior:none;height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;min-height:100%;height:100%;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw;overscroll-behavior:none}#app{height:100%;max-width:100%}a{color:var(--primary-color);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--panel-shadow);transition:background .3s,border-color .3s,box-shadow .3s;max-width:100%;box-sizing:border-box;min-width:0}.glass-panel:hover{border-color:#ffffff1a}[data-theme=light] .glass-panel:hover{border-color:#0000001f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;font-family:inherit;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:44px;line-height:1;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;box-shadow:var(--glow-primary)}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff4d}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--panel-border)}.btn-ghost:hover:not(:disabled){background:var(--panel-hover);color:var(--text-primary);border-color:#ffffff26}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:12px;min-height:32px}.btn-icon{width:44px;padding:0}.input-field{width:100%;padding:12px 16px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);outline:none;transition:all .2s ease;min-height:44px}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #58a6ff1a}.select-field{width:100%;padding:12px 36px 12px 16px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);outline:none;cursor:pointer;min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b949e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.select-field:focus{border-color:var(--input-focus-border)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.table-container{overflow-x:auto;border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--panel-border);white-space:nowrap}.data-table th{color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;background:#00000026}[data-theme=light] .data-table th{background:#00000008}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--panel-hover)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;border-radius:20px;line-height:1.4}.badge-online{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-offline{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-unbound{background:#8b949e26;color:var(--text-secondary);border:1px solid rgba(139,148,158,.3)}.badge-admin{background:var(--accent-bg);color:var(--accent-color);border:1px solid rgba(188,140,255,.3)}.badge-vip{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-user{background:var(--primary-bg);color:var(--primary-color);border:1px solid var(--primary-border)}.badge-lite{background:#8b949e1a;color:var(--text-secondary);border:1px solid rgba(139,148,158,.3)}.badge-plus{background:var(--primary-bg);color:var(--primary-color);border:1px solid var(--primary-border)}.badge-pro{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-ultra{background:var(--accent-bg);color:var(--accent-color);border:1px solid rgba(188,140,255,.3)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;overflow-y:auto;animation:fadeIn .2s ease}.modal-content{width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:32px;box-shadow:0 20px 60px #00000080}.modal-title{font-size:18px;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--text-secondary)}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-state h3{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.empty-state p{font-size:14px;max-width:360px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);gap:16px}.spinner{width:24px;height:24px;border:3px solid var(--panel-border);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.temp-normal{color:var(--success)}.temp-warm{color:var(--warning)}.temp-hot{color:var(--danger)}.temp-critical{color:#dc2626;animation:temp-blink 1s ease-in-out infinite}@keyframes temp-blink{0%,to{opacity:1}50%{opacity:.4}}.rsrp-excellent{color:#16a34a!important;font-weight:600}.rsrp-good{color:#22c55e!important;font-weight:600}.rsrp-fair{color:#eab308!important;font-weight:600}.rsrp-poor{color:#f97316!important;font-weight:600}.rsrp-bad{color:#ef4444!important;font-weight:600}.signal-excellent{color:#16a34a;font-weight:600}.signal-good{color:#22c55e;font-weight:600}.signal-fair{color:#eab308;font-weight:600}.signal-poor{color:#f97316;font-weight:600}.signal-bad{color:#ef4444;font-weight:600}.text-primary{color:var(--primary-color)!important}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-warning{color:var(--warning)!important}.text-ok{color:var(--success)!important}.text-secondary-color{color:var(--text-secondary)!important}.text-accent{color:var(--accent-color)!important}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:600}.font-mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.hide-mobile{display:none!important}.btn{min-height:44px;padding:10px 16px}.modal-content{max-width:unset;max-height:80vh;padding:20px}}@media (min-width: 769px) and (max-width: 1024px){.hide-tablet{display:none!important}}@media (min-width: 769px){.show-mobile-only{display:none!important}}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--success);position:relative}.pulse-dot:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--success);animation:pulse 2s ease-in-out infinite;opacity:0}@keyframes pulse{0%{transform:scale(.8);opacity:.5}70%{transform:scale(2);opacity:0}to{transform:scale(2);opacity:0}}
