.widget{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:16px;overflow:hidden}.widget-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:16px 20px}.widget-header h3{color:#2c3e50;font-size:1.125rem;font-weight:600;margin:0}.widget-body{padding:20px}.metrics{display:flex;flex-direction:column;gap:12px}.metric-row{align-items:center;display:flex;justify-content:space-between}.metric-label{color:#6c757d;font-size:.875rem}.metric-value{color:#2c3e50;font-size:1.5rem;font-weight:700}.trend-indicator{margin-top:12px;text-align:center}.trend-indicator span{font-size:.875rem;font-weight:500}.text-success{color:#28a745}.text-danger{color:#dc3545}.text-warning{color:#ffc107}.text-info{color:#17a2b8}.usage-gauge{background-color:#e9ecef;border-radius:4px;height:40px;margin:16px 0;overflow:hidden;position:relative}.gauge-fill{background:linear-gradient(90deg,#28a745,#20c997);height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.usage-percentage{color:#fff;font-size:.875rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.bandwidth-stats{margin-top:16px}.bandwidth-stats,.stat-row{display:flex;justify-content:space-between}.stat-label{color:#6c757d;font-size:.875rem}.stat-value{color:#2c3e50;font-size:1rem;font-weight:600}.connection-stats{display:flex;justify-content:space-between;margin-bottom:20px}.stat-item{text-align:center}.activity-list{list-style:none;margin:0;padding:0}.activity-item{border-bottom:1px solid #f1f3f4;color:#495057;font-size:.875rem;padding:8px 0}.activity-item:last-child{border-bottom:none}.alerts-list{list-style:none;margin:0;padding:0}.alert-item{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;padding:12px 0}.alert-item:last-child{border-bottom:none}.alert-icon{font-size:1rem;margin-right:8px}.alert-message{color:#495057;font-size:.875rem}@media (max-width:768px){.widgets-grid{grid-template-columns:1fr}.bandwidth-stats{flex-direction:column;gap:8px}.connection-stats{flex-direction:column;gap:12px;text-align:center}}.dashboard{background:#f8fafc;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;padding:24px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;padding:20px}.margin-bottom{margin-bottom:20px}.margin-top{margin-top:16px}.dashboard-header .header-content{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.header-brand{align-items:center;display:flex;gap:12px}.header-brand .logo-icon{font-size:32px}.header-brand h1{color:#0f172a;font-size:22px;font-weight:700;margin:0}.header-brand p{color:#64748b;font-size:13px;margin:2px 0 0}.header-controls{align-items:center;display:flex;gap:12px}.tenant-selector{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:500;gap:8px}.tenant-selector select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;padding:6px 12px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-outline{background:#0000;border:1px solid #cbd5e1;color:#475569}.btn-outline:hover{background:#f8fafc;border-color:#94a3b8}.btn-sm{font-size:12px;padding:4px 10px}.devices-table-container{overflow:hidden}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.table-title h2{font-size:18px;font-weight:700;margin:0}.table-title p{color:#64748b;font-size:13px;margin:2px 0 0}.table-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.status-tabs{display:flex;gap:6px}.tab-btn{background:#f1f5f9;border:1px solid #0000;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.tab-btn.active{background:#2563eb;color:#fff}.search-box input{border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:6px 12px;width:240px}.table-responsive{overflow-x:auto}.device-table{border-collapse:collapse;font-size:14px;text-align:left;width:100%}.device-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:12px;font-weight:700;padding:10px 12px;text-transform:uppercase}.device-table td{border-bottom:1px solid #f1f5f9;padding:12px;vertical-align:middle}.table-row:hover{background:#f8fafc;cursor:pointer}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.status-dot.online{background:#10b981}.status-dot.pending{background:#f59e0b}.status-dot.killed{background:#ef4444}.status-label{font-weight:600;text-transform:capitalize}.ip-badge{background:#f1f5f9;border-radius:4px;color:#2563eb;font-family:monospace;font-size:13px;padding:2px 6px}.role-tag{background:#e0e7ff;border-radius:12px;color:#3730a3;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:520px;overflow-y:auto;padding:24px;width:90%}.modal-lg{max-width:720px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.modal-header h2{font-size:20px;font-weight:700;margin:0}.modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:24px}.modal-close:hover{color:#0f172a}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.form-group small{color:#64748b;display:block;font-size:12px;margin-top:4px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.code-block{align-items:center;background:#0f172a;border-radius:6px;color:#38bdf8;display:flex;font-family:monospace;justify-content:space-between;margin-top:6px;padding:10px 14px}.warning-text{color:#d97706}.script-code,.warning-text{font-size:12px;margin-top:6px}.script-code{background:#1e293b;border-radius:6px;color:#f8fafc;overflow-x:auto;padding:12px}.detail-section-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px}.info-card h3{color:#334155;font-size:14px;font-weight:700;margin:0 0 10px}.info-row{border-bottom:1px dashed #e2e8f0;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.info-row span:first-child{color:#64748b}.status-pill{border-radius:12px;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase}.status-pill.status-active{background:#d1fae5;color:#065f46}.status-pill.status-pending{background:#fef3c7;color:#92400e}.status-pill.status-error{background:#fee2e2;color:#991b1b}.loading-bar{background:#dbeafe;border-radius:6px;color:#1e40af;font-size:13px;margin-bottom:16px;padding:8px 14px}.widgets-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:20px}.dashboard-content{flex:1 1}.error-card{background:#fef2f2;border:1px solid #fecaca}.error-card h3{color:#991b1b;font-size:16px;margin-bottom:8px}.error-card p{color:#991b1b;font-size:14px}.modal-form .error-banner{background:#fef2f2;border-radius:6px;color:#991b1b;font-size:13px;margin-bottom:12px;padding:10px 14px}.token-result .success-banner{background:#d1fae5;border-radius:6px;color:#065f46;font-size:14px;font-weight:600;margin-bottom:16px;padding:10px 14px}.token-result .result-field{margin-bottom:16px}.token-result .result-field label{color:#475569;font-size:13px;font-weight:600}.token-result .result-grid{grid-gap:12px;display:grid;font-size:13px;gap:12px;grid-template-columns:1fr 1fr 1fr}.token-result .result-grid strong{color:#475569}.kill-section{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.kill-form input{border:1px solid #cbd5e1;border-radius:6px;font-size:14px;margin-bottom:12px;padding:8px 12px;width:100%}.modal-actions.inline{justify-content:flex-end}.bundles-section{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.bundles-section h3{color:#334155;font-size:14px;font-weight:700;margin-bottom:12px}.bundles-list{display:flex;flex-direction:column;gap:8px}.bundle-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 14px}.bundle-header{display:flex;font-size:13px;font-weight:600;justify-content:space-between}.bundle-sig{color:#64748b;font-size:12px;margin-top:4px}.empty-text{color:#94a3b8;font-size:13px;font-style:italic}.settings-drawer{border-top:1px solid #e2e8f0;padding-top:12px}.form-group.inline-group{align-items:center;display:flex;gap:12px}.form-group.inline-group label{margin-bottom:0;white-space:nowrap}.form-group.inline-group input{flex:1 1;max-width:400px}.dashboard-footer{background:#fff;border-top:1px solid #e2e8f0;margin-top:24px;padding:16px 24px}.footer-content{color:#64748b;font-size:13px;justify-content:space-between}.footer-content,.footer-right{align-items:center;display:flex}.footer-right{gap:8px}.separator{color:#cbd5e1}.loading-spinner{color:#64748b;font-size:14px;padding:24px;text-align:center}@media (max-width:768px){.dashboard{padding:12px}.header-content{align-items:flex-start;flex-direction:column}.header-controls{flex-wrap:wrap}.detail-section-grid,.token-result .result-grid{grid-template-columns:1fr}.form-group.inline-group{align-items:flex-start;flex-direction:column}.form-group.inline-group input{max-width:100%;width:100%}}.App{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}#root,*,body,html{margin:0;padding:0}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.app{min-height:100vh}button{cursor:pointer}button,input,select{font-family:inherit}
/*# sourceMappingURL=main.8afaae83.css.map*/