.icon[data-v-1b247302]{display:inline-block;vertical-align:middle;-ms-flex-negative:0;flex-shrink:0}.icon.icon-xs[data-v-1b247302]{width:12px;height:12px}.icon.icon-sm[data-v-1b247302]{width:16px;height:16px}.icon.icon-md[data-v-1b247302]{width:20px;height:20px}.icon.icon-lg[data-v-1b247302]{width:24px;height:24px}.icon.icon-xl[data-v-1b247302]{width:32px;height:32px}.toast[data-v-ebba6080]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:.75rem;background:#fff;border-radius:6px;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15);padding:1rem;margin-bottom:.5rem;border-left:4px solid;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-animation:slideIn-data-v-ebba6080 .3s ease;animation:slideIn-data-v-ebba6080 .3s ease}.toast[data-v-ebba6080]:hover{-webkit-transform:translateX(-4px);transform:translateX(-4px);-webkit-box-shadow:0 6px 16px rgba(0,0,0,.2);box-shadow:0 6px 16px rgba(0,0,0,.2)}.toast .toast-icon[data-v-ebba6080]{width:20px;height:20px;-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.toast .toast-message[data-v-ebba6080]{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:.875rem;line-height:1.4;white-space:pre-line}.toast .toast-close[data-v-ebba6080]{width:20px;height:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;background:none;cursor:pointer;opacity:.5;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.toast .toast-close[data-v-ebba6080]:hover{opacity:1}.toast.toast-success[data-v-ebba6080]{border-left-color:#10b981}.toast.toast-success .toast-icon[data-v-ebba6080]{color:#10b981}.toast.toast-error[data-v-ebba6080]{border-left-color:#ef4444}.toast.toast-error .toast-icon[data-v-ebba6080]{color:#ef4444}.toast.toast-warning[data-v-ebba6080]{border-left-color:#f59e0b}.toast.toast-warning .toast-icon[data-v-ebba6080]{color:#f59e0b}.toast.toast-info[data-v-ebba6080]{border-left-color:#3b82f6}.toast.toast-info .toast-icon[data-v-ebba6080]{color:#3b82f6}@-webkit-keyframes slideIn-data-v-ebba6080{0%{-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slideIn-data-v-ebba6080{0%{-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}.toast-container[data-v-c00d2090]{position:fixed;bottom:1rem;right:1rem;z-index:9999;max-width:400px;width:100%}@media (max-width:768px){.toast-container[data-v-c00d2090]{left:1rem;right:1rem;max-width:none}}.data-grid[data-v-647805e0]{background:#fff;border-radius:8px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid #e5e7eb;overflow:hidden}.data-grid .grid-header[data-v-647805e0]{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem}.data-grid .grid-header .title-section h2[data-v-647805e0]{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .25rem 0}.data-grid .grid-header .title-section .count[data-v-647805e0]{font-size:.75rem;color:#64748b;font-weight:500}.data-grid .grid-header .header-actions[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:.5rem}.data-grid .table-container[data-v-647805e0]{position:relative;overflow-x:auto}.data-grid .table-container.loading[data-v-647805e0]{pointer-events:none}.data-grid .data-table[data-v-647805e0]{width:100%;border-collapse:collapse;font-size:.875rem}.data-grid .data-table thead th[data-v-647805e0]{background:#f8fafc;color:#374151;font-weight:600;text-align:left;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;white-space:nowrap;position:sticky;top:0}.data-grid .data-table thead th .sort-icon[data-v-647805e0]{width:12px;height:12px;color:#94a3b8;margin-left:.5rem;cursor:pointer}.data-grid .data-table thead th .sort-icon[data-v-647805e0]:hover{color:#3b82f6}.data-grid .data-table thead th.actions-header[data-v-647805e0]{text-align:center;width:80px}.data-grid .data-table tbody .data-row[data-v-647805e0]{-webkit-transition:background .15s ease;transition:background .15s ease;border-bottom:1px solid #f1f5f9}.data-grid .data-table tbody .data-row[data-v-647805e0]:hover{background:#f8fafc}.data-grid .data-table tbody .data-row[data-v-647805e0]:last-child{border-bottom:none}.data-grid .data-table tbody .data-row.clickable-row[data-v-647805e0]{cursor:pointer}.data-grid .data-table tbody .data-row.clickable-row[data-v-647805e0]:hover{background:#f1f5f9}.data-grid .data-table tbody .data-row.clickable-row[data-v-647805e0]:active{background:#e2e8f0}.data-grid .data-table tbody td[data-v-647805e0]{padding:.75rem 1rem;color:#374151;vertical-align:middle}.data-grid .data-table tbody td.actions-cell[data-v-647805e0]{text-align:center;padding:.5rem 1rem;position:relative}.data-grid .data-table tbody td.actions-cell .actions-dropdown[data-v-647805e0]{position:relative;display:inline-block}.data-grid .data-table tbody td.actions-cell .actions-dropdown .actions-btn[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#6b7280;-webkit-transition:all .15s ease;transition:all .15s ease}.data-grid .data-table tbody td.actions-cell .actions-dropdown .actions-btn[data-v-647805e0]:hover{background:#f3f4f6;color:#374151}.data-grid .data-table tbody td.actions-cell .actions-dropdown .actions-menu[data-v-647805e0]{position:absolute;top:100%;right:0;z-index:1000;min-width:140px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;-webkit-box-shadow:0 10px 15px -3px rgba(0,0,0,.1);box-shadow:0 10px 15px -3px rgba(0,0,0,.1);padding:.25rem 0;margin-top:.25rem}.data-grid .data-table tbody td.actions-cell .actions-dropdown .actions-menu .action-item[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:none;text-align:left;cursor:pointer;color:#374151;font-size:.875rem;-webkit-transition:background .15s ease;transition:background .15s ease}.data-grid .data-table tbody td.actions-cell .actions-dropdown .actions-menu .action-item[data-v-647805e0]:hover:not(.disabled){background:#f9fafb}.data-grid .data-table tbody td.actions-cell .actions-dropdown .actions-menu .action-item.disabled[data-v-647805e0]{opacity:.5;cursor:not-allowed}.data-grid .data-table tbody td.actions-cell .actions-dropdown.open .actions-btn[data-v-647805e0]{background:#f3f4f6;color:#374151}.data-grid .data-table tbody td.name-cell[data-v-647805e0]{font-weight:600}.data-grid .data-table tbody td.id-cell[data-v-647805e0]{font-weight:600;color:#6b7280;font-size:.8rem;font-family:monospace}.data-grid .data-table tbody td.contact-cell[data-v-647805e0]{position:relative;min-width:120px}.data-grid .data-table tbody .empty-row[data-v-647805e0]:hover{background:transparent}.data-grid .data-table tbody .empty-state[data-v-647805e0]{text-align:center;padding:2rem 1rem;border:none}.data-grid .data-table tbody .empty-state .empty-content[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.75rem}.data-grid .data-table tbody .empty-state .empty-content .empty-icon[data-v-647805e0]{width:32px;height:32px;color:#94a3b8}.data-grid .data-table tbody .empty-state .empty-content h3[data-v-647805e0]{font-size:1rem;font-weight:600;color:#374151;margin:0}.data-grid .data-table tbody .empty-state .empty-content p[data-v-647805e0]{color:#6b7280;margin:0;font-size:.875rem}.data-grid .pagination[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.75rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.data-grid .pagination .pagination-info[data-v-647805e0]{color:#64748b;font-size:.875rem}.data-grid .pagination .pagination-controls[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.25rem}.data-grid .pagination .pagination-controls button[data-v-647805e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #e5e7eb;background:#fff;border-radius:4px;cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.data-grid .pagination .pagination-controls button[data-v-647805e0]:hover:not(:disabled){background:#f1f5f9;border-color:#3b82f6}.data-grid .pagination .pagination-controls button[data-v-647805e0]:disabled{opacity:.4;cursor:not-allowed}.data-grid .pagination .pagination-controls .page-info[data-v-647805e0]{color:#374151;font-size:.875rem;font-weight:500;margin:0 .75rem;white-space:nowrap}.data-grid .loading-overlay[data-v-647805e0]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.8);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.75rem;z-index:10}.data-grid .loading-overlay .spinner[data-v-647805e0]{width:24px;height:24px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;-webkit-animation:spin-data-v-647805e0 1s linear infinite;animation:spin-data-v-647805e0 1s linear infinite}.data-grid .loading-overlay span[data-v-647805e0]{color:#6b7280;font-size:.875rem}.data-grid .backdrop[data-v-647805e0]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:transparent}@media (max-width:768px){.data-grid .grid-header[data-v-647805e0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:.75rem}.data-grid .grid-header .title-section[data-v-647805e0]{text-align:center}.data-grid .grid-header .header-actions[data-v-647805e0]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.data-grid .data-table[data-v-647805e0]{font-size:.8rem}.data-grid .data-table tbody td[data-v-647805e0],.data-grid .data-table thead th[data-v-647805e0]{padding:.5rem .75rem}.data-grid .pagination[data-v-647805e0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.75rem;padding:.75rem}}.btn[data-v-647805e0]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.btn.btn-primary[data-v-647805e0]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn.btn-primary[data-v-647805e0]:hover{background:#2563eb;border-color:#2563eb}.btn.btn-sm[data-v-647805e0]{padding:.375rem .75rem;font-size:.8rem}@-webkit-keyframes spin-data-v-647805e0{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-data-v-647805e0{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.tag[data-v-6edeb584]{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-right:.25rem;margin-bottom:.25rem}.tag.tag-small[data-v-6edeb584]{padding:.125rem .375rem;font-size:.625rem}.tag.tag-default[data-v-6edeb584]{background:#f3f4f6;color:#374151}.tag.tag-udp[data-v-6edeb584]{background:#dbeafe;color:#1e40af}.tag.tag-tcp[data-v-6edeb584]{background:#dcfce7;color:#166534}.tag.tag-wss[data-v-6edeb584]{background:#fef3c7;color:#92400e}.tag.tag-port[data-v-6edeb584]{background:#f3e8ff;color:#7c3aed}.tag.tag-active[data-v-6edeb584]{background:#dcfce7;color:#166534}.tag.tag-inactive[data-v-6edeb584]{background:#fee2e2;color:#dc2626}.text-muted[data-v-6edeb584]{color:#6b7280}.user-name[data-v-39974d9f]{font-weight:500;color:#111827}.text-muted[data-v-39974d9f]{color:#6b7280}.contact-cell[data-v-3ef850a3]{position:relative;display:inline-block}.contact-status[data-v-3ef850a3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.contact-status.offline[data-v-3ef850a3]{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.contact-status.offline[data-v-3ef850a3]:hover{background-color:#fecaca}.contact-status.online[data-v-3ef850a3]{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.contact-status.online[data-v-3ef850a3]:hover{background-color:#bbf7d0}.contact-status .user-agent[data-v-3ef850a3]{font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-tooltip[data-v-3ef850a3]{position:absolute;z-index:1000;min-width:280px;max-width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;-webkit-box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);font-size:.875rem}.contact-tooltip.tooltip-right[data-v-3ef850a3]{left:0}.contact-tooltip.tooltip-left[data-v-3ef850a3]{right:0}.contact-tooltip.tooltip-bottom[data-v-3ef850a3]{top:100%;margin-top:.25rem}.contact-tooltip.tooltip-top[data-v-3ef850a3]{bottom:100%;margin-bottom:.25rem}.contact-tooltip .tooltip-header[data-v-3ef850a3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.75rem;border-bottom:1px solid #f3f4f6;background:#f9fafb;border-radius:8px 8px 0 0}.contact-tooltip .tooltip-header span[data-v-3ef850a3]{font-weight:600;color:#111827}.contact-tooltip .tooltip-header .copy-btn[data-v-3ef850a3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:4px;cursor:pointer;color:#6b7280;-webkit-transition:all .2s ease;transition:all .2s ease}.contact-tooltip .tooltip-header .copy-btn[data-v-3ef850a3]:hover{background:#e5e7eb;color:#374151}.contact-tooltip .tooltip-content[data-v-3ef850a3]{padding:.75rem;max-height:200px;overflow-y:auto}.contact-tooltip .tooltip-content .contact-item[data-v-3ef850a3]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:.5rem}.contact-tooltip .tooltip-content .contact-item[data-v-3ef850a3]:last-child{margin-bottom:0}.contact-tooltip .tooltip-content .contact-item .label[data-v-3ef850a3]{font-weight:500;color:#374151;min-width:80px;-ms-flex-negative:0;flex-shrink:0;font-size:.8rem}.contact-tooltip .tooltip-content .contact-item .value[data-v-3ef850a3]{color:#6b7280;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;text-align:right;word-break:break-all;max-width:160px;line-height:1.3}