@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#2563eb;--primary-light:#eff6ff;--primary-dark:#1d4ed8;--sidebar-bg:#0b1329;--sidebar-hover:#1e293b;--sidebar-active:#2563eb;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--bg-main:#fff;--bg-card:#fff;--text-main:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--border-color-dark:#cbd5e1;--accent-purple:#8b5cf6;--accent-green:#10b981;--accent-orange:#f59e0b;--accent-teal:#14b8a6;--accent-red:#ef4444;--accent-blue:#0ea5e9;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Sans", monospace;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -4px #0000000a;--shadow-card:0 1px 3px 0 #0000000d, 0 1px 2px -1px #0000000d;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{background-color:var(--bg-main);width:100vw;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.page-container{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1600px;margin:0 auto;padding:24px;display:flex}.grid-container{grid-template-columns:repeat(12,1fr);gap:20px;display:grid}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-3{grid-column:span 3}.col-9{grid-column:span 9}.col-5{grid-column:span 5}.col-7{grid-column:span 7}@media (width<=1200px){.col-8,.col-4,.col-6,.col-3,.col-9,.col-5,.col-7{grid-column:span 12}}.card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.card:hover{box-shadow:var(--shadow-md)}.card-title{color:var(--text-main);justify-content:space-between;align-items:center;font-size:15px;font-weight:600;display:flex}.card-subtitle{color:var(--text-muted);margin-top:-10px;font-size:12px}.badge{text-transform:capitalize;border-radius:9999px;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-red{color:#ef4444;background-color:#fee2e2}.badge-orange{color:#f97316;background-color:#ffedd5}.badge-yellow{color:#ca8a04;background-color:#fef9c3}.badge-green{color:#10b981;background-color:#d1fae5}.badge-blue{color:#0284c7;background-color:#e0f2fe}.badge-purple{color:#8b5cf6;background-color:#f3e8ff}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.status-dot.active:after{content:"";opacity:0;border:2px solid;border-radius:50%;animation:1.5s cubic-bezier(.215,.61,.355,1) infinite pulse-ring;position:absolute;inset:-2px}@keyframes pulse-ring{0%{opacity:0;transform:scale(.5)}50%{opacity:.5}to{opacity:0;transform:scale(1.5)}}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{color:#374151;background-color:#fff;border-color:#d1d5db}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-danger{background-color:var(--accent-red);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-sm{padding:6px 12px;font-size:12px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);font-size:12px;font-weight:600}.form-input,.form-select{border-radius:var(--radius-sm);color:var(--text-main);font-size:14px;font-family:var(--font-sans);background-color:#fff;border:1px solid #d1d5db;outline:none;padding:8px 12px;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--primary)}.slider-container{flex-direction:column;gap:8px;display:flex}.slider-header{justify-content:space-between;font-size:13px;display:flex}.slider-title{font-weight:500}.slider-val{color:var(--primary);font-weight:600;font-family:var(--font-mono)}.slider-bar{-webkit-appearance:none;background:#e2e8f0;border-radius:3px;outline:none;width:100%;height:6px}.slider-bar::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 1px 3px #0003}.slider-bar::-webkit-slider-thumb:hover{transform:scale(1.2)}.login-overlay{z-index:9999;background:radial-gradient(circle,#fff 0%,#e2e8f0 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.login-card{border-radius:var(--radius-lg);width:440px;color:var(--text-main);background:#fff;border:1px solid #cbd5e1;flex-direction:column;gap:24px;padding:40px;animation:.4s slide-in;display:flex;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #0000000d}.login-tabs-header{border-bottom:1px solid #e2e8f0;gap:16px;display:flex}.login-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:13.5px;font-weight:600;transition:color .15s;position:relative}.login-tab-btn:hover{color:var(--text-main)}.login-tab-btn.active{color:var(--primary)}.login-tab-btn.active:after{content:"";background-color:var(--primary);border-radius:9999px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.login-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.login-logo{background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 12px #2563eb33}.login-logo svg{color:#fff;width:26px;height:26px}.login-title{letter-spacing:-.5px;color:var(--text-main);font-size:20px;font-weight:700}.login-subtitle{color:var(--text-muted);font-size:12px}.login-form{flex-direction:column;gap:16px;display:flex}.login-input-wrapper{flex-direction:column;gap:6px;display:flex;position:relative}.login-input{border-radius:var(--radius-sm);width:100%;color:var(--text-main);font-size:13.5px;font-family:var(--font-sans);background:#fff;border:1px solid #cbd5e1;outline:none;padding:10px 14px 10px 40px;transition:all .2s}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f626}.login-icon{color:#64748b;width:16px;height:16px;position:absolute;bottom:12px;left:12px}.login-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:13.5px;font-weight:600;transition:all .2s;display:flex}.login-btn:hover{background-color:var(--primary-dark)}.google-login-btn{border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);background-color:#fff;border:1px solid #cbd5e1;justify-content:center;align-items:center;gap:10px;padding:10px;transition:background-color .15s;display:flex}.google-login-btn:hover{background-color:#f8fafc;border-color:#94a3b8}.google-icon{width:16px;height:16px}.login-divider{text-align:center;color:var(--text-muted);align-items:center;width:100%;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.login-divider:not(:empty):before{margin-right:.5em}.login-divider:not(:empty):after{margin-left:.5em}.login-error{color:#ef4444;text-align:center;border-radius:var(--radius-sm);background:#fee2e2;border:1px solid #fca5a5;padding:8px;font-size:11.5px}@keyframes slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.telemetry-stream-container{flex-direction:column;gap:8px;max-height:230px;padding-right:4px;display:flex;overflow-y:auto}.telemetry-stream-item{font-size:12px;font-family:var(--font-mono);background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px;grid-template-columns:2fr 2fr 2fr 3fr;padding:8px;display:grid}.telemetry-stream-item.new-item{animation:1.5s ease-out highlight-pulse}@keyframes highlight-pulse{0%{background-color:#eff6ff;border-color:#bfdbfe}to{background-color:#f8fafc;border-color:#f1f5f9}}.quality-gauges-container{flex-wrap:wrap;justify-content:space-around;gap:16px;padding:10px 0;display:flex}.quality-gauge{flex-direction:column;align-items:center;gap:8px;display:flex}.gauge-circle-wrap{width:72px;height:72px;position:relative}.gauge-value{font-size:13px;font-weight:700;font-family:var(--font-mono);color:var(--text-main);text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gauge-label{color:var(--text-muted);font-size:11px;font-weight:500}
