.chart-panel{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:transparent;border:1px solid #34343c;border-radius:12px;overflow:hidden;position:relative;contain:layout style}.chart-panel .panel-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 18px;background:transparent;border-bottom:1px solid #34343c;-ms-flex-negative:0;flex-shrink:0}.chart-panel .panel-header,.chart-panel .panel-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.chart-panel .panel-title{gap:10px;font-size:14px;font-weight:600;color:#fff}.chart-panel .panel-title .title-icon{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;background:#232327;border-radius:6px;color:#6e69e9}.chart-panel .panel-title .title-icon svg{width:16px;height:16px}.chart-panel .panel-actions .action-btn{font-size:10px;padding:4px 10px;background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.5);border-radius:4px;color:#38bdf8;letter-spacing:1px}.chart-panel .trend-stats .trend-item{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:end;-ms-flex-align:end;align-items:flex-end}.chart-panel .trend-stats .trend-item em{font-size:10px;color:#64748b;font-style:normal}.chart-panel .trend-stats .trend-item strong{font-size:16px;color:#38bdf8;font-family:var(--font-sans)}.chart-panel .panel-body{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;padding:12px;position:relative;background-color:transparent}.map-legend{gap:16px}.map-legend,.map-legend .legend-item{display:-webkit-box;display:-ms-flexbox;display:flex}.map-legend .legend-item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.map-legend .legend-item i{width:10px;height:10px;border-radius:50%}.map-legend .legend-item.online i{background:#00f5ff;-webkit-box-shadow:0 0 8px rgba(0,245,255,.5);box-shadow:0 0 8px rgba(0,245,255,.5)}.map-legend .legend-item.offline i{background:#f87171;-webkit-box-shadow:0 0 8px rgba(248,113,113,.5);box-shadow:0 0 8px rgba(248,113,113,.5)}.map-legend .legend-item.lg i{background:#a78bfa;-webkit-box-shadow:0 0 8px rgba(167,139,250,.5);box-shadow:0 0 8px rgba(167,139,250,.5)}.map-legend .legend-item.probe i{background:#00f5ff;-webkit-box-shadow:0 0 8px rgba(0,245,255,.5);box-shadow:0 0 8px rgba(0,245,255,.5)}.map-legend .legend-item.target i{background:#f472b6;-webkit-box-shadow:0 0 8px rgba(244,114,182,.5);box-shadow:0 0 8px rgba(244,114,182,.5)}.map-legend .legend-item.line i{background:-webkit-gradient(linear,left top,right top,from(#00f5ff),to(#f472b6));background:linear-gradient(90deg,#00f5ff,#f472b6);-webkit-box-shadow:0 0 8px rgba(0,245,255,.5);box-shadow:0 0 8px rgba(0,245,255,.5)}.echart{width:100%;height:100%}html:not(.dark) .chart-panel{background:var(--bg-card,#fff);border-color:var(--border-default,rgba(15,23,42,.1))}html:not(.dark) .chart-panel .panel-header{border-bottom-color:var(--border-default,rgba(15,23,42,.1))}html:not(.dark) .chart-panel .panel-title{color:var(--text-primary,#1e293b)}html:not(.dark) .chart-panel .panel-title .title-icon{background:#eef2ff;color:#6366f1}html:not(.dark) .map-legend .legend-item{color:var(--text-secondary,#64748b)}html:not(.dark) .trend-stats .trend-item em{color:var(--text-tertiary,#94a3b8)}.cyber-dashboard{position:relative;width:100%;height:100vh;overflow:hidden;background:#18181b;font-family:var(--font-sans);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cyber-dashboard .chart-panel .panel-body{background-color:transparent}.cyber-dashboard .probe-map-panel .panel-body,.cyber-dashboard .target-map-panel .panel-body{background-color:var(--bg-primary,#18181b)}.dashboard-content{position:relative;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:12px 16px;gap:12px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;-webkit-box-sizing:border-box;box-sizing:border-box}.stats-section{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;-ms-flex-negative:0;flex-shrink:0}.stat-card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:1px solid #34343c;border-radius:12px;overflow:hidden;cursor:pointer}.stat-card:hover{border-color:rgba(233,234,235,.5)}.stat-card:hover:before{background:-webkit-gradient(linear,left top,right top,from(rgba(233,234,235,0)),color-stop(50%,rgba(233,234,235,.6)),to(rgba(233,234,235,0))) top/100% 1px no-repeat,-webkit-gradient(linear,left top,right top,from(rgba(233,234,235,0)),color-stop(50%,rgba(233,234,235,.6)),to(rgba(233,234,235,0))) bottom/100% 1px no-repeat;background:linear-gradient(90deg,rgba(233,234,235,0),rgba(233,234,235,.6) 50%,rgba(233,234,235,0)) top/100% 1px no-repeat,linear-gradient(90deg,rgba(233,234,235,0),rgba(233,234,235,.6) 50%,rgba(233,234,235,0)) bottom/100% 1px no-repeat}.stat-card:hover .stat-icon{-webkit-transform:scale(1.1) rotate(5deg);transform:scale(1.1) rotate(5deg)}.stat-card .stat-icon{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:44px;height:44px;background:color-mix(in srgb,var(--accent-color) 14%,#111827);border:1px solid color-mix(in srgb,var(--accent-color) 45%,transparent);border-radius:10px;color:var(--accent-color);-ms-flex-negative:0;flex-shrink:0;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.stat-card .stat-icon svg{width:22px;height:22px;-webkit-filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent-color) 60%,transparent));filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent-color) 60%,transparent))}.stat-card .stat-info{-webkit-box-flex:1;-ms-flex:1;flex:1}.stat-card .stat-info .stat-value{font-size:24px;font-weight:700;color:#fff;line-height:1;font-family:var(--font-sans);letter-spacing:1px}.stat-card .stat-info .stat-label{font-size:11px;font-weight:500;color:hsla(0,0%,100%,.65);margin-top:4px;letter-spacing:.5px}.map-section{display:grid;grid-template-columns:1fr 1fr;gap:12px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0}.charts-section{display:grid;gap:12px;-ms-flex-negative:0;flex-shrink:0}.charts-section,.charts-section.charts-section-3cols{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;height:clamp(260px,34vh,480px)}@media (max-width:1400px){.charts-section,.charts-section-3cols{grid-template-columns:repeat(2,1fr)}.charts-section-3cols{grid-template-rows:repeat(2,1fr)}}@media (max-width:1024px){.stats-section{grid-template-columns:repeat(3,1fr)}.charts-section,.charts-section-3cols{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);height:clamp(480px,55vh,720px);-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}}@media (max-width:768px){.stats-section{grid-template-columns:repeat(2,1fr)}.map-section{grid-template-columns:1fr}}html:not(.dark) .cyber-dashboard{background:var(--bg-page,#f5f7fb);color:var(--text-primary,#1e293b)}html:not(.dark) .cyber-dashboard .probe-map-panel .panel-body,html:not(.dark) .cyber-dashboard .target-map-panel .panel-body{background-color:var(--bg-primary,#fff)}html:not(.dark) .stat-card{background:var(--bg-card,#fff);border-color:var(--border-default,rgba(15,23,42,.1))}html:not(.dark) .stat-card:hover{border-color:rgba(15,23,42,.25)}html:not(.dark) .stat-card .stat-icon{background:color-mix(in srgb,var(--accent-color) 12%,#fff)}html:not(.dark) .stat-card .stat-info .stat-value{color:var(--text-primary,#1e293b)}html:not(.dark) .stat-card .stat-info .stat-label{color:var(--text-secondary,#64748b)}