.app-container{display:flex;height:100vh;width:100%;background-color:#f8fafc;overflow-x:hidden}.main-content{flex:1;overflow-y:auto;transition:margin-left .3s cubic-bezier(.4,0,.2,1);will-change:margin-left}.page-content{padding:20px;width:100%}.left-sidebar{width:250px;height:100vh;background:linear-gradient(180deg,#1e293b,#162031);color:#f8fafc;position:fixed;left:0;top:0;z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 25px #0000004d;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:#00000026;border-bottom:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sidebar-header h2{margin:0;font-size:1.2rem;font-weight:600;background:linear-gradient(90deg,#fff,#b8c7e0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 15px rgba(255,255,255,.3);position:relative;display:inline-block}.sidebar-header h2:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:scaleX(.7);opacity:.5}.close-sidebar{background:none;border:none;color:#f8fafc;font-size:1.5rem;cursor:pointer;display:none}.sidebar-nav{display:flex;flex-direction:column;padding:1rem 0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:20px}.sidebar-section{margin-bottom:1.5rem;position:relative;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar-section-title{padding:.75rem 1.5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#fff9;letter-spacing:.1em;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent);border-left:2px solid rgba(59,130,246,.5);text-shadow:0 1px 2px rgba(0,0,0,.3);display:flex;align-items:center}.sidebar-link{display:flex;align-items:center;padding:.85rem 1.5rem;color:#ffffffb3;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);border-left:3px solid transparent;position:relative;margin:2px 6px;border-radius:6px;overflow:hidden}.sidebar-link:hover{background:#ffffff14;color:#fff;box-shadow:0 4px 12px #00000026;transform:translate(3px)}.sidebar-link:hover:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sidebar-link.active{background:linear-gradient(90deg,#3b82f640,#3b82f60d);color:#fff;border-left-color:#3b82f6;box-shadow:0 4px 15px #2563eb33;font-weight:500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sidebar-link.active:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#3b82f6;box-shadow:0 0 8px #3b82f699}.sidebar-link.disabled{opacity:.5;cursor:not-allowed;background:#ffffff05}.sidebar-link.disabled:hover{transform:none;box-shadow:none}.coming-soon-badge{position:absolute;right:1rem;font-size:.65rem;background:linear-gradient(135deg,#3b82f64d,#2563eb4d);color:#bfdbfe;padding:.15rem .6rem;border-radius:1rem;box-shadow:0 2px 6px #2563eb26}.sidebar-icon{margin-right:.8rem;font-size:1.1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:8px;padding:5px;transition:all .2s ease}.sidebar-link:hover .sidebar-icon{background:#3b82f626}.sidebar-link.active .sidebar-icon{background:#3b82f633}.hamburger-menu{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;margin-right:1rem;display:none}.hamburger-menu.always-visible{display:flex;align-items:center;justify-content:center;color:#f8fafc;font-size:1.5rem;padding:8px;margin-left:12px;margin-right:16px;border-radius:4px;transition:all .2s ease;background:#ffffff0d;height:36px;width:36px;position:static;flex-shrink:0}.hamburger-menu.always-visible:hover{background:#3b82f633;transform:scale(1.05);box-shadow:0 0 10px #2563eb4d}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;display:none}@media (max-width: 768px){.left-sidebar{transform:translate(-100%);width:80%;max-width:300px}.left-sidebar.open{transform:translate(0)}.main-content{margin-left:0!important}.hamburger-menu{display:block}.hamburger-menu.always-visible{margin-left:8px}.close-sidebar,.sidebar-overlay{display:block}.nav-container{padding-left:0}.nav-links{display:none!important}}.nav-bar{background:linear-gradient(90deg,#1e293b,#162031);color:#f8fafc;padding:.5rem 0;box-shadow:0 2px 10px #0003;position:sticky;top:0;z-index:900;width:100%}.nav-container{display:flex;align-items:center;padding:0;width:100%;justify-content:flex-start}.nav-links{display:flex;margin-left:60px;flex:1;justify-content:center}.nav-link{color:#ffffffb3;text-decoration:none;padding:.75rem 1rem;font-size:.95rem;font-weight:500;border-bottom:2px solid transparent;transition:all .2s ease}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link-active{color:#fff;border-bottom:2px solid #3b82f6}.sidebar-toggle-button{position:fixed;top:70px;left:250px;width:34px;height:40px;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-left:none;border-radius:0 4px 4px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fffc;font-size:12px;box-shadow:3px 0 10px #00000026;z-index:999;transition:all .3s ease}body.sidebar-closed .sidebar-toggle-button{left:0;background:#1a1f2e;border:1px solid rgba(255,255,255,.1);border-left-color:transparent}.sidebar-toggle-button:hover{background:#2563eb;color:#fff;box-shadow:0 0 15px #2563eb66}@media (min-width: 769px){.main-content{margin-left:250px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.sidebar-closed .main-content{margin-left:0}body.sidebar-closed .left-sidebar{transform:translate(-100%);box-shadow:none}body.sidebar-closed .sidebar-toggle-button:hover{box-shadow:0 0 20px #2563eb80;transform:scale(1.05)}}body{font-family:Segoe UI,Roboto,system-ui,sans-serif;background:#f8fafc;margin:0;color:#1e293b}.nav-bar{background:#1e293b;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px}.nav-brand h1{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.nav-links{display:flex;gap:0}.nav-link{color:#cbd5e1;text-decoration:none;padding:16px 24px;border-radius:0;transition:all .2s;font-weight:500;border-bottom:3px solid transparent}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link-active{color:#fff;border-bottom-color:#3b82f6;background:#ffffff1a}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px 24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.header h1{color:#0f172a;font-size:1.875rem;font-weight:700;margin:0}.header-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.select,.input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px;color:#374151}.select:focus,.input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.metric-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border-left:4px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metric-label{font-size:.875rem;color:#6b7280;font-weight:500;margin-bottom:8px}.metric-value{font-size:1.5rem;font-weight:700;color:#111827;display:flex;align-items:baseline}.metric-unit{font-size:.875rem;color:#6b7280;font-weight:400}.metric-trend{margin-top:8px;font-size:.75rem;font-weight:500}.trend-up{color:#059669}.trend-down{color:#dc2626}.trend-stable{color:#6b7280}.chart-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;margin-bottom:24px}.chart-half-width{width:48%;display:inline-block;margin-right:4%}.chart-half-width:nth-child(2n){margin-right:0}.charts-row{display:flex;gap:24px;margin-bottom:24px}.charts-row .chart-section{flex:1;margin-bottom:0}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:16px}.chart-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.chart-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.series-toggles{display:flex;gap:12px;flex-wrap:wrap}.series-toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.series-toggle input[type=checkbox]{margin:0}.mock-data-toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 12px;background:#f3f4f6;border-radius:6px;border:1px solid #d1d5db}.mock-data-toggle:hover{background:#e5e7eb}.series-color-indicator{width:12px;height:12px;border-radius:2px;display:inline-block}.chart-container{width:100%;height:400px}.chart-placeholder{height:400px;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-weight:500}.chart-tooltip{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:12px;box-shadow:0 4px 12px #00000026}.tooltip-label{font-weight:600;margin:0 0 8px;color:#111827}.chart-tooltip p{margin:4px 0;font-size:14px}.error-message{background:#fef2f2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:16px;border:1px solid #fecaca}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:32px;padding-top:24px;border-top:2px solid #e5e7eb}.summary-cards .metric-card{background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #e5e7eb}.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}button:hover{background:#2563eb}button:disabled{background:#9ca3af;cursor:not-allowed}.chart-container{background:#f8fafc;border-radius:8px;padding:12px;height:350px}.section-title{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937}.control-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.control-button{padding:6px 12px;background:#f8fafc;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer}.control-button.disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.topic-name{font-size:14px;font-weight:500;color:#1f2937;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value-small{font-size:14px;color:#1f2937;font-weight:600}.qos-badges{display:flex;gap:8px;flex-wrap:wrap}.qos-item{display:flex;align-items:center;gap:4px}.qos-count{font-size:12px;color:#6b7280}.text-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.status-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-qos-0{background-color:#dcfce7;color:#166534}.status-qos-1{background-color:#fef3c7;color:#92400e}.status-qos-2{background-color:#fecaca;color:#dc2626}.error-message{margin-bottom:24px;border-radius:8px;background:#fef2f2;padding:16px;border:1px solid #fecaca;display:flex;gap:12px}.error-icon{flex-shrink:0;width:20px;height:20px;color:#ef4444}.error-title{font-size:14px;font-weight:500;color:#b91c1c;margin:0 0 8px}.error-details{font-size:14px;color:#dc2626}.loading-placeholder{animation:pulse 2s infinite}.skeleton-text{height:16px;background:#e5e7eb;border-radius:4px;margin-bottom:12px}.skeleton-large{height:24px;width:33%}.skeleton-medium{height:16px;width:25%;margin-bottom:24px}.skeleton-chart{height:256px;background:#e5e7eb;border-radius:8px;margin-bottom:24px}.skeleton-table{height:128px;background:#e5e7eb;border-radius:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.no-data{text-align:center;padding:32px 16px;color:#6b7280}.no-data-icon{width:48px;height:48px;margin:0 auto 12px;color:#d1d5db}.no-data-title{margin:0 0 8px;font-size:14px;font-weight:500;color:#374151}.no-data-text{font-size:13px;color:#6b7280;max-width:300px;margin:0 auto}.button-secondary{background:#f3f4f6;color:#374151}.button-secondary:hover{background:#e5e7eb}.loading{opacity:.6;pointer-events:none}.chart-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.mock-data-toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:#6b7280;cursor:pointer}.mock-data-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.reliability-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.connected-clients-breakdown{margin-bottom:24px}.breakdown-title{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 16px}.user-bars{display:flex;flex-direction:column;gap:12px}.user-bar{display:flex;flex-direction:column;gap:4px}.user-bar-info{display:flex;justify-content:space-between;align-items:center;font-size:14px}.username{font-weight:500;color:#374151}.count{font-weight:600;color:#3b82f6}.user-bar-visual{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden}.user-bar-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%;border-radius:4px;transition:width .3s ease}.connected-clients-table{margin-top:24px}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th{background:#f9fafb;color:#374151;font-weight:600;padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb;font-size:14px}.data-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:14px}.data-table tbody tr:hover{background:#f9fafb}.session-histogram{margin-top:24px}.chart-container{background:#fff;border-radius:8px;padding:16px;border:1px solid #e5e7eb}.no-data{text-align:center;color:#6b7280;font-style:italic;padding:40px 20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.last-updated{text-align:center;margin-top:16px;color:#6b7280;font-size:12px}.error-boundary{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:24px;margin:16px 0}.error-content{text-align:center}.error-content h3{color:#dc2626;margin:0 0 8px;font-size:1.125rem}.error-content p{color:#6b7280;margin:0 0 16px}@media (max-width: 768px){.header{flex-direction:column;align-items:stretch}.header-controls{justify-content:center}.overview-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.charts-row{flex-direction:column}.chart-half-width{width:100%;margin-right:0;display:block}.container{padding:16px}.nav-container{flex-direction:column;height:auto;padding:10px 20px}.nav-links{width:100%;justify-content:center}.reliability-stats{grid-template-columns:1fr}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 12px}}.timeline-table-container{margin-top:20px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;max-height:400px;overflow-y:auto}.timeline-table{width:100%;border-collapse:collapse;font-size:14px}.timeline-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.timeline-table td{padding:10px 16px;border-bottom:1px solid #f3f4f6;color:#6b7280}.timeline-table tbody tr:hover{background:#f9fafb}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-connected{background:#dcfce7;color:#166534}.status-disconnected{background:#fee2e2;color:#991b1b}.churn-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:20px 0}.churn-card{background:#fff;padding:16px;border-radius:8px;border:1px solid #e5e7eb;text-align:center}.churn-card-label{font-size:12px;color:#6b7280;margin-bottom:8px;font-weight:500}.churn-card-value{font-size:24px;font-weight:700;margin:0}.churn-chart{margin-top:20px}.churn-chart .breakdown-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:16px;margin-top:0}@media (max-width: 768px){.churn-summary{grid-template-columns:1fr}.timeline-table{font-size:12px}.timeline-table th,.timeline-table td{padding:8px 12px}.churn-card-value{font-size:20px}}.gantt-container{margin-top:20px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.gantt-header{background:#f8fafc;border-bottom:1px solid #e5e7eb}.gantt-time-axis{display:flex;border-bottom:1px solid #e5e7eb;position:relative;height:30px;padding-left:200px}.time-tick{flex:1;padding:8px 4px;text-align:center;font-size:12px;color:#6b7280;border-left:1px solid #e5e7eb}.gantt-body{max-height:400px;overflow-y:auto}.gantt-row{display:flex;border-bottom:1px solid #f3f4f6;min-height:40px;align-items:center}.gantt-row:hover{background:#f9fafb}.gantt-row-label{width:200px;padding:8px 16px;border-right:1px solid #e5e7eb;background:#fff;position:sticky;left:0;z-index:10}.client-name{font-weight:500;font-size:12px;color:#374151}.client-username{font-size:11px;color:#6b7280}.gantt-timeline{flex:1;position:relative;height:40px;background:#fff}.gantt-bar{position:absolute;height:20px;top:10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:2px}.gantt-bar.active{background:#10b981;border:1px solid #059669}.gantt-bar.inactive{background:#6b7280;border:1px solid #4b5563}.gantt-bar-content{color:#fff;font-size:12px;font-weight:700}.checkpoint-compact-summary{margin:16px 0}.compact-stats{display:flex;gap:20px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.compact-stat{display:flex;align-items:center;gap:8px}.compact-stat .stat-label{font-size:12px;color:#6b7280;font-weight:500}.compact-stat .stat-value{font-size:14px;font-weight:600;color:#374151;background:#f3f4f6;padding:2px 8px;border-radius:4px}.checkpoint-mini-timeline{margin-top:8px}.timeline-label{font-size:11px;color:#6b7280;margin-bottom:6px;font-weight:500}.mini-markers{position:relative;height:20px;background:linear-gradient(to right,#e5e7eb,#d1d5db,#e5e7eb);border-radius:10px;padding:0 8px;display:flex;align-items:center}.mini-marker{position:absolute;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;background:#fff;border:2px solid #10b981;border-radius:50%;cursor:pointer;transition:all .2s;animation:pulse-in .3s ease-out}.mini-marker:hover{transform:scale(1.2);z-index:10;box-shadow:0 2px 8px #00000026}@keyframes pulse-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}.no-data-compact{text-align:center;padding:20px;color:#6b7280;font-size:14px;background:#f8fafc;border-radius:8px;border:1px dashed #d1d5db}.tcp-compact-summary{margin:16px 0}.compact-tcp-stats{display:flex;gap:16px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.compact-tcp-stats .compact-stat{display:flex;align-items:center;gap:6px}.compact-tcp-stats .stat-label{font-size:12px;color:#6b7280;font-weight:500}.compact-tcp-stats .stat-value{font-size:13px;font-weight:600;color:#374151;background:#eff6ff;padding:2px 6px;border-radius:4px;border:1px solid #dbeafe}.tcp-sparkline-container{margin-top:8px;display:flex;align-items:center;gap:8px}.sparkline-label{font-size:11px;color:#6b7280;font-weight:500;min-width:90px}.tcp-sparkline{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:4px;box-shadow:0 1px 3px #0000001a}.tcp-sparkline svg{display:block}.sparkline-dot{transition:all .2s ease}.sparkline-dot:hover{r:2.5;fill:#1d4ed8}.activity-feed{margin-top:20px}.activity-summary{margin-bottom:16px;color:#6b7280;font-size:14px}.activity-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;max-height:500px;overflow-y:auto}.activity-item{display:flex;padding:12px 16px;border-bottom:1px solid #f3f4f6;gap:12px;align-items:flex-start}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f9fafb}.activity-icon{font-size:16px;margin-top:2px;min-width:20px}.activity-content{flex:1}.activity-description{font-size:14px;color:#374151;margin-bottom:6px;line-height:1.4}.activity-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.activity-time{font-size:12px;color:#6b7280}.activity-action-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500;text-transform:uppercase}.activity-topic{font-size:11px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.activity-timestamp{font-size:11px;color:#9ca3af;min-width:120px;text-align:right}.activity-overflow{text-align:center;padding:12px;color:#6b7280;font-size:14px;border-top:1px solid #e5e7eb;background:#f8fafc}@media (max-width: 768px){.gantt-row-label{width:150px}.gantt-time-axis{padding-left:150px}.time-tick{font-size:10px;padding:6px 2px}.tcp-stats{grid-template-columns:1fr}.checkpoint-stats{flex-direction:column;gap:12px}.activity-meta{flex-direction:column;align-items:flex-start;gap:4px}.activity-timestamp{min-width:auto;text-align:left}}.connect-disconnect-summary{background:#fff;border-radius:8px;padding:16px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.cd-stats{display:flex;gap:24px;justify-content:space-around}.cd-stat{text-align:center}.cd-stat .stat-label{font-size:12px;color:#6b7280;font-weight:500;margin-bottom:4px}.cd-stat .stat-value{font-size:20px;font-weight:700}.cd-stat .stat-value.connect{color:#10b981}.cd-stat .stat-value.disconnect{color:#ef4444}.cd-stat .stat-value.positive{color:#10b981}.cd-stat .stat-value.negative{color:#ef4444}.stacked-area-container{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.connect-disconnect-table-container{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-filter{display:flex;align-items:center;gap:8px}.table-filter label{font-size:14px;font-weight:500;color:#374151}.action-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.action-badge.connect,.action-badge.connected{background-color:#d1fae5;color:#065f46}.action-badge.disconnect,.action-badge.disconnected{background-color:#fee2e2;color:#991b1b}.table-overflow{padding:12px 16px;background-color:#f9fafb;border-top:1px solid #e5e7eb;font-size:12px;color:#6b7280;text-align:center}.mock-data-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;cursor:pointer}.mock-data-toggle input[type=checkbox]{margin:0}@media (max-width: 768px){.cd-stats{flex-direction:column;gap:12px}.table-header{flex-direction:column;align-items:flex-start;gap:12px}.table-filter{width:100%;justify-content:space-between}}.chart-container{width:100%!important;max-width:100%!important;height:auto!important;min-height:480px!important;overflow:hidden}.recharts-responsive-container{width:100%!important;max-width:100%!important}.recharts-cartesian-axis-tick-value,.recharts-cartesian-axis .recharts-cartesian-axis-tick{font-size:11px!important}@media (max-width: 1200px){.v1-charts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}}@media (max-width: 1024px){.v1-main-grid{grid-template-columns:1fr!important}.v1-charts-grid{grid-template-columns:1fr!important;gap:20px!important}.chart-container{height:350px!important}}@media (max-width: 768px){.v1-charts-grid{grid-template-columns:1fr!important;gap:16px!important}.v1-hero-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:16px!important}.v1-metrics-grid{grid-template-columns:1fr!important;gap:16px!important}.chart-container{height:320px!important}.chart-section{padding:16px!important}}@media (max-width: 480px){.v1-hero-metrics{grid-template-columns:1fr 1fr!important}.chart-container{height:280px!important}.chart-section{padding:12px!important}}
