@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;letter-spacing:normal;min-height:100vh}body,body:before{background:#0a0a0a}body:before{bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:fixed;right:0;top:0;z-index:-1}.breadcrumb-navigation{background:#1a1a1a;border-bottom:1px solid #2a2a2a;margin-bottom:1.5rem;padding:1rem 2rem}.breadcrumb-items{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.breadcrumb-item{color:#94a3b8;transition:color .2s ease}.breadcrumb-item.active{color:#3b82f6}.breadcrumb-item:not(.active):hover{color:#fff;cursor:pointer}.breadcrumb-icon{font-size:.8rem}.breadcrumb-separator{color:#4a5568;font-size:.7rem;margin:0 .25rem}.statistics-section{margin-bottom:2rem}.pie-charts-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}.pie-chart-widget{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;cursor:pointer;padding:1.5rem;position:relative;transition:all .2s ease}.pie-chart-widget:hover{border-color:#3b82f6;transform:translateY(-2px)}.pie-chart-widget h4{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;margin-bottom:1rem}.info-icon{color:#6b7280;font-size:.875rem;transition:color .2s ease}.pie-chart-widget:hover .info-icon{color:#3b82f6}.pie-chart-legend{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.legend-item{color:#cbd5e1;font-size:.875rem}.legend-color{border-radius:2px;height:12px;width:12px}.quick-statistics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.5rem}.stat-card{align-items:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .2s ease}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:#3b82f6;transform:translateY(-1px)}.stat-icon{align-items:center;background:#374151;border-radius:8px;color:#9ca3af;display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.stat-icon.success{background:#22c55e1a;color:#22c55e}.stat-icon.error{background:#ef44441a;color:#ef4444}.stat-icon.info{background:#3b82f61a;color:#3b82f6}.stat-content{flex:1 1}.stat-value{font-size:1.75rem;line-height:1.2}.stat-link-icon{color:#6b7280;font-size:.875rem;transition:color .2s ease}.stat-card.clickable:hover .stat-link-icon{color:#3b82f6}.popup-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.popup-modal{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.popup-header{align-items:center;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;padding:1.5rem}.popup-header h3{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.popup-close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:all .2s ease}.popup-close:hover{background:#2a2a2a;color:#fff}.popup-content{flex:1 1;overflow-y:auto;padding:1.5rem}.popup-content p{color:#cbd5e1;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.popup-content ul{list-style:none;margin:0;padding:0}.popup-content li{border-bottom:1px solid #2a2a2a;color:#cbd5e1;line-height:1.5;padding:.5rem 0}.popup-content li:last-child{border-bottom:none}.popup-content strong{color:#fff}.popup-table{border-collapse:collapse;margin-top:1rem;width:100%}.popup-table td,.popup-table th{border-bottom:1px solid #2a2a2a;padding:.75rem 1rem;text-align:left}.popup-table th{background:#2a2a2a;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.popup-table td{color:#cbd5e1;font-family:IBM Plex Mono,monospace;font-size:.9rem}.popup-table tr:hover{background:#3b82f60d}.popup-table .status-cell{align-items:center;display:flex;gap:.5rem}.status-indicator{height:8px;margin-right:.5rem;width:8px}.status-healthy{background:#10b981}.status-warning{background:#f59e0b}.status-error{background:#ef4444}.collapsible-header{align-items:center;border-radius:6px;cursor:pointer;display:flex!important;justify-content:space-between;margin:-.5rem;padding:.5rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:#3b82f61a}.collapsible-header .header-left{align-items:center;display:flex}.collapsible-header .header-right{align-items:center;display:flex;gap:1rem}.collapse-icon{color:#6b7280;font-size:.875rem;transition:transform .2s ease}.collapse-icon.expanded{transform:rotate(90deg)}.quick-link-card{align-items:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .2s ease}.quick-link-card:hover{border-color:#3b82f6;transform:translateY(-1px)}.quick-link-icon{align-items:center;background:#ef44441a;border-radius:8px;color:#ef4444;display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;position:relative;width:48px}.alert-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;min-width:20px;padding:2px 6px;position:absolute;right:-8px;text-align:center;top:-8px}.quick-link-content{flex:1 1}.quick-link-content h4{color:#fff;font-size:1rem;font-weight:600;margin-bottom:.25rem}.quick-link-content p{color:#94a3b8;font-size:.875rem;margin:0}.quick-link-arrow{color:#6b7280;font-size:.875rem;transition:color .2s ease}.quick-link-card:hover .quick-link-arrow{color:#3b82f6}.alerts-container,.metrics-container,.monitoring-container,.performance-container{background:#0000;color:#fff;margin-left:0;max-width:calc(100vw - 260px);min-height:100vh;overflow-x:hidden;padding:0}.alerts-header,.metrics-header,.monitoring-header,.performance-header{margin-bottom:2rem}.alerts-header h2,.debugging-header h2,.externalsources-header h2,.metrics-header h2,.monitoring-header h2,.performance-header h2,.pipelines-header h2,.webservices-header h2{align-items:center;color:#fff;display:flex;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.monitoring-header p,.performance-header p{color:#94a3b8;font-size:.875rem;margin:0}.alert-summary{color:#94a3b8;font-size:.875rem}.alert-count{background:#ef44441a;border-radius:12px;color:#ef4444;font-weight:600;padding:.25rem .75rem}.no-alerts{color:#94a3b8;padding:3rem;text-align:center}.no-alerts p{font-size:1.1rem;margin-top:1rem}.alert-filters{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filter-group,.search-group{align-items:center;display:flex;gap:.5rem}.filter-select,.search-input{background:#2a2a2a;border:1px solid #374151;border-radius:6px;color:#fff;font-size:.875rem;padding:.5rem}.filter-select:focus,.search-input:focus{border-color:#3b82f6;outline:none}.historical-alerts{display:flex;flex-direction:column;gap:.75rem}.alert-item.historical{opacity:.8}.alert-item.resolved{opacity:.6}.resolved-badge{align-items:center;color:#22c55e;display:flex;font-size:.75rem;font-weight:600;gap:.25rem}.performance-content{display:flex;flex-direction:column;gap:2rem}.performance-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.performance-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.performance-stat{background:#2a2a2a;border:1px solid #374151;border-radius:8px;padding:1.5rem;text-align:center}.performance-stat .stat-value{color:#3b82f6;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.performance-stat .stat-label{color:#94a3b8;font-size:.75rem}.resource-bars{gap:1rem}.resource-bar,.resource-bars{display:flex;flex-direction:column}.resource-bar{gap:.5rem}.resource-label{align-items:center;color:#cbd5e1;display:flex;font-size:.8rem;justify-content:space-between}.resource-value{color:#10b981;font-weight:600}.monitoring-content{display:flex;flex-direction:column;gap:2rem}.monitoring-filters{align-items:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem}.monitoring-grid{grid-gap:2rem;gap:2rem;grid-template-columns:1fr 1fr}.monitoring-list{display:flex;flex-direction:column;gap:1rem}.monitoring-item{background:#2a2a2a;border:1px solid #374151;border-radius:8px;padding:1rem}.monitoring-info{align-items:flex-start;display:flex;flex:1 1;gap:.75rem}.status-icon{font-size:1.25rem;margin-left:.5rem;margin-top:.15rem}.monitoring-details h4{color:#fff;font-size:1rem;margin:0 0 .25rem}.monitoring-details p{color:#94a3b8;font-size:.8rem;margin:0}.monitoring-metrics{display:flex;flex-direction:column;gap:.25rem;margin:0 1rem}.metric-item{color:#cbd5e1;font-size:.8rem}.monitoring-status{border-radius:4px;font-size:.7rem;font-weight:600;min-width:80px;padding:.375rem .75rem;text-align:center}.status-active{color:#10b981}.status-warning{background:#0000;color:#f59e0b}.status-error{color:#ef4444}.monitoring-table{border-collapse:collapse;width:100%}.monitoring-table td,.monitoring-table th{border-bottom:1px solid #374151;font-size:.75rem;padding:.75rem;text-align:left}.monitoring-table td.status-cell{font-size:.7rem}.monitoring-table th{background:#2a2a2a;color:#fff;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.monitoring-table td{color:#cbd5e1}.monitoring-table tr:hover{background:#3b82f60d}.metrics-content{display:flex;flex-direction:column;gap:2rem}.metrics-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.metric-card{align-items:center;background:#1a1a1a;border:1px solid #2a2a2a;transition:all .2s ease}.metric-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.metric-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.metric-card.primary .metric-icon{background:#3b82f61a;color:#3b82f6}.metric-card.secondary .metric-icon{background:#8b5cf61a;color:#8b5cf6}.metric-card.accent .metric-icon{background:#10b9811a;color:#10b981}.metric-card.warning .metric-icon{background:#f59e0b1a;color:#f59e0b}.metric-card.info .metric-icon{background:#06b6d41a;color:#06b6d4}.metric-card.neutral .metric-icon{background:#6b72801a;color:#6b7280}.metric-content{flex:1 1}.metric-value{color:#fff;font-size:1.875rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.metric-label{margin-bottom:.5rem}.metric-change{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.125rem .375rem}.metric-change.positive{background:#10b9811a;color:#10b981}.metric-change.negative{background:#ef44441a;color:#ef4444}.metric-change.neutral{background:#6b72801a;color:#6b7280}.status-grid{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.status-item{align-items:center;background:#2a2a2a;border:1px solid #374151;border-radius:8px;gap:1rem;padding:1rem}.status-label{color:#cbd5e1;flex:1 1;font-size:1rem}.status-value{color:#fff;font-size:.95rem}.counters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.counter-item{background:#2a2a2a;border:1px solid #374151;border-radius:8px;padding:1.5rem;text-align:center}.counter-value{color:#fff;font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.counter-label{color:#94a3b8;font-size:.75rem;letter-spacing:.025em;text-transform:uppercase}.compact-overview-container{background:#0000;color:#fff;margin-left:0;max-width:calc(100vw - 260px);min-height:100vh;overflow-x:hidden;overflow-y:visible;padding:0}.compact-overview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.compact-overview-header h2{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:600;margin:0}.compact-grid{grid-gap:1rem;display:grid;gap:1rem;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));overflow:visible!important}.compact-widget{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;overflow:visible!important;padding:1rem;transition:all .2s ease}.compact-widget:hover{border-color:#374151}.widget-header{margin-bottom:1rem}.widget-header h3{color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.025em;margin:0 0 .25rem;text-transform:uppercase}.widget-subtitle{align-items:center;color:#94a3b8;display:flex;font-size:.75rem}.app-name{color:#fff;font-weight:600;margin-right:.5rem}.app-status{color:#94a3b8}.widget-content{align-items:center;display:flex;flex-direction:column;text-align:center}.large-number{font-size:3rem;font-weight:700;line-height:1;margin-bottom:.5rem}.large-number.error{color:#ef4444}.large-number.success{color:#22c55e}.large-number.info{color:#3b82f6}.large-number.primary{color:#fff}.denominator{color:#6b7280;font-size:1.5rem}.problems-widget .widget-content{padding:1rem 0}.problem-breakdown{border-top:1px solid #374151;margin-top:1rem;padding-top:1rem}.breakdown-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 1rem;transition:background .2s ease}.breakdown-item:hover{background:#3b82f61a;border-radius:4px}.breakdown-label{color:#9ca3af;font-size:.875rem}.breakdown-value{color:#ef4444;font-size:1rem;font-weight:600}.availability-grid{grid-gap:.125rem;display:grid;gap:.125rem;grid-template-columns:repeat(7,1fr);margin-bottom:1rem;padding:.5rem}.availability-dot{background:#22c55e;border-radius:50%;height:8px;width:8px}.availability-dot.warning{background:#f59e0b}.availability-dot.error{background:#ef4444}.monitoring-widget{grid-column:span 2}.world-map-placeholder{background:#2a2a2a;background-image:radial-gradient(circle at 20% 40%,#ef44444d 8px,#0000 0),radial-gradient(circle at 35% 35%,#f59e0b4d 6px,#0000 0),radial-gradient(circle at 60% 30%,#22c55e4d 10px,#0000 0),radial-gradient(circle at 75% 50%,#3b82f64d 7px,#0000 0),radial-gradient(circle at 25% 70%,#8b5cf64d 5px,#0000 0);border-radius:6px;height:200px;overflow:hidden;position:relative;width:100%}.layer-usage-list{max-height:350px;overflow-y:auto;padding:.5rem;scrollbar-color:#3b82f6 #1a1a1a;scrollbar-width:thin;width:100%}.layer-usage-list::-webkit-scrollbar{width:6px}.layer-usage-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.layer-usage-list::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.layer-usage-list::-webkit-scrollbar-thumb:hover{background:#2563eb}.layer-usage-item{align-items:center;background:#3b82f61a;border-left:3px solid #3b82f6;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem 1rem}.layer-name{color:#e5e7eb;font-size:.875rem;font-weight:500}.usage-count{color:#3b82f6;font-size:.875rem;font-weight:600}.cloud-widget .widget-content{align-items:stretch;text-align:left}.cloud-stats{display:flex;gap:2rem;width:100%}.cloud-section{flex:1 1}.section-title{color:#94a3b8;font-size:.75rem;margin-bottom:.5rem;text-transform:uppercase}.aws-metric{display:flex;flex-direction:column;gap:.25rem}.metric-number{color:#fff;font-size:1.5rem;font-weight:700}.metric-number.error{color:#ef4444}.metric-unit{color:#94a3b8;font-size:.75rem}.metric-bar{background:#374151;margin:.5rem 0;width:100%}.bar-fill{background:#3b82f6;height:100%;transition:width .3s ease}.metric-detail{align-items:center;display:flex;font-size:.75rem;gap:.5rem}.running-count{color:#3b82f6;font-weight:600}.time-labels{color:#6b7280;display:flex;gap:1rem;margin-left:auto}.technologies-section{align-items:center;display:flex;flex-direction:column}.tech-icons{color:#94a3b8;display:flex;font-size:1.25rem;gap:.5rem;margin:.5rem 0}.more-count{color:#6b7280;font-size:.75rem}.smartscape-icon{align-items:center;background:#2a2a2a;border-radius:8px;display:flex;height:60px;justify-content:center;margin-bottom:1rem;position:relative;width:60px}.smartscape-lines{background-image:linear-gradient(45deg,#0000 40%,#3b82f6 0,#3b82f6 60%,#0000 0),linear-gradient(-45deg,#0000 40%,#3b82f6 0,#3b82f6 60%,#0000 0);background-size:10px 10px;height:30px;width:30px}.smartscape-label{align-items:center;color:#94a3b8;display:flex;font-size:.75rem;margin-top:.5rem}.postgis-metrics{border-top:1px solid #374151;display:flex;gap:1rem;margin-top:1rem;padding-top:1rem}.postgis-stat{flex:1 1;text-align:center}.postgis-label{color:#9ca3af;display:block;font-size:.75rem;margin-bottom:.5rem}.postgis-value{display:block;font-size:1.25rem;font-weight:700}.postgis-value.success{color:#22c55e}.postgis-value.warning{color:#f59e0b}.services-widget{grid-row:span 2}.services-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem;width:100%}.service-stat{text-align:center}.stat-number{display:block;font-size:1.5rem}.stat-number.error{color:#ef4444}.stat-label{margin-top:.25rem}.services-chart{margin:1rem 0;width:100%}.chart-legend{display:flex;flex-direction:column;gap:.25rem;text-align:left;width:100%}.legend-item,.legend-row{align-items:center;display:flex}.legend-item{color:#94a3b8;font-size:.75rem;gap:.5rem;width:100%}.legend-color{border-radius:1px;flex-shrink:0;height:8px;width:8px}.legend-value{color:#fff;font-weight:600;margin-left:auto}.goals-widget{grid-row:span 2}.main-goal{margin-bottom:1.5rem;text-align:center}.goal-percentage{color:#fff;font-size:2.5rem;font-weight:700}.goal-label{color:#94a3b8;font-size:.75rem;margin-top:.25rem}.sub-goals{display:flex;flex-direction:column;gap:.75rem;width:100%}.sub-goal{width:100%}.goal-row{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:.25rem}.goal-name{color:#cbd5e1}.goal-value{color:#fff;font-weight:600}.progress-bar{background:#374151;height:4px}.progress-fill{border-radius:2px;transition:width .3s ease}.docker-stats{display:flex;justify-content:space-between;width:100%}.docker-main{text-align:left}.docker-number{color:#fff;font-size:2rem;font-weight:700}.docker-label{color:#94a3b8;font-size:.75rem;margin:.25rem 0}.docker-time{color:#6b7280;display:flex;font-size:.75rem;gap:1rem}.time-now{color:#3b82f6;font-weight:600}.docker-details{display:flex;flex-direction:column;gap:.5rem}.docker-row{align-items:center;display:flex;font-size:.75rem;gap:.5rem}.docker-row .label{color:#94a3b8;min-width:60px}.progress-mini{background:#374151;border-radius:1px;height:3px;width:40px}.progress-mini .progress-fill{background:#3b82f6;height:100%}.docker-row .value{color:#fff;font-weight:600;min-width:30px;text-align:right}.hosts-label{color:#94a3b8;font-size:.75rem;margin-top:.5rem}.database-stats{display:flex;gap:1rem;justify-content:space-between;width:100%}.db-stat{flex:1 1;text-align:center}.db-number{color:#fff;font-size:1.5rem;font-weight:700}.db-unit{color:#94a3b8;font-size:.6rem;text-transform:uppercase}.db-label{color:#94a3b8;font-size:.75rem;margin-top:.25rem}.network-stats{margin-bottom:1rem;width:100%}.network-row{align-items:center;display:flex;font-size:.75rem;gap:.5rem;margin-bottom:.5rem}.network-label{color:#94a3b8}.network-value{color:#fff;font-size:1.25rem;font-weight:700;margin-left:auto}.network-unit{color:#94a3b8}.network-processes{align-items:center;display:flex;font-size:.75rem;gap:.5rem}.process-error{color:#ef4444;font-weight:700}.process-label{color:#94a3b8;font-size:.85rem}.process-hosts{color:#ef4444;font-weight:700;margin-left:.5rem}.network-chart{height:60px;width:100%}.App{display:flex;min-height:100vh}.sidebar{background:#1a1a1a;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;height:100vh;padding:1.5rem 0;position:fixed;width:260px;z-index:100}.sidebar-header{border-bottom:1px solid #2a2a2a;margin-bottom:1.5rem;padding:0 1.5rem 2rem}.sidebar-header h1{align-items:center;color:#f1f5f9;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin-bottom:.5rem}.sidebar-header p{color:#94a3b8;font-size:.875rem;margin:0}.sidebar-nav{flex:1 1;padding:0 1rem}.nav-item{align-items:center;background:none;border:none;border-radius:8px;color:#cbd5e1;cursor:pointer;display:flex;font-family:IBM Plex Sans,-apple-system,sans-serif;font-size:.95rem;font-weight:500;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.nav-item:hover{background:#2a2a2a;color:#fff;transform:translateX(2px)}.nav-item.active{background:#007acc;color:#fff}.nav-icon{font-size:1.2rem;min-width:1.2rem;text-align:center;width:1.2rem}.main-content{background:#0a0a0a;flex:1 1;margin-left:260px;min-height:100vh;overflow-x:auto;padding:1.5rem}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#10b9811a,#3b82f61a 50%,#9333ea1a);border:1px solid #10b98133;border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#e2e8f0;margin-bottom:2rem;padding:2rem;text-align:center}.app-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.app-header p{font-size:1.2rem;opacity:.9}.dashboard{margin:0 auto;max-width:1200px}.dashboard,.overview-container{display:flex;flex-direction:column;gap:2rem}.overview-header{display:flex;flex-direction:column;gap:1.5rem}.overview-header h2{color:#f1f5f9;font-size:2rem;font-weight:700;margin:0}.overview-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem}.summary-card{align-items:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:1.5rem;position:relative;text-align:center;transition:all .3s ease}.summary-card:hover{border-color:#007acc;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.summary-value{color:#00c851;display:block;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.summary-label{color:#94a3b8;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.overview-content{display:flex;flex-direction:column;gap:2rem}.dashboard-section.compact{padding:1rem}.health-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.health-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:12px;padding:1.5rem}.health-card:hover{box-shadow:0 4px 20px #0000004d}.health-card.compact{align-items:center;display:flex;justify-content:space-between;min-height:60px;padding:1rem 1.5rem}.health-card.compact .health-metrics{display:none}.health-card h4{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.tool-version{color:#64748b;margin-top:.25rem}.metric-compact{color:#94a3b8;display:flex;font-size:.75rem;gap:1rem}.pipeline-list.compact .pipeline-item.compact{margin-bottom:.75rem;padding:.75rem}.quick-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.monitoring-compact{display:flex;flex-direction:column;gap:.5rem}.monitoring-item{align-items:center;border-bottom:1px solid #3341554d;display:flex;justify-content:space-between;padding:.5rem 0}.monitoring-item:last-child{border-bottom:none}.monitoring-name{color:#cbd5e1;font-size:.875rem}.monitoring-status{font-size:.75rem}.satellite-compact{display:flex;flex-direction:column;gap:.5rem}.satellite-item{align-items:center;border-bottom:1px solid #3341554d;display:flex;justify-content:space-between;padding:.5rem 0}.satellite-item:last-child{border-bottom:none}.satellite-name{color:#cbd5e1;flex:1 1;font-size:.875rem}.satellite-speed{color:#94a3b8;font-family:monospace;font-size:.75rem}.satellite-status{font-size:.75rem;margin-left:.5rem}.alerts-compact{display:flex;flex-direction:column;gap:1rem}.alert-item.compact{padding:.75rem}.dashboard-section{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:2rem;transition:all .2s ease}.dashboard-section:hover{border-color:#3b82f6}.dashboard-section h3{align-items:center;border-bottom:1px solid #ffffff1a;color:#fff;display:flex;font-size:1.3rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.dashboard-section h2,.dashboard-section h3{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.health-grid{display:flex;flex-direction:column;gap:.75rem}.health-card{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;padding:1rem}.health-card:hover{border-color:#007acc;box-shadow:0 4px 12px #0000004d}.health-header{flex:1 1;justify-content:space-between;margin-bottom:0}.health-header,.tool-icon{align-items:center;display:flex}.tool-icon{color:#3b82f6;font-size:1.5rem;justify-content:center;min-width:1.2rem}.tool-version{color:#94a3b8;font-family:monospace;font-size:.75rem}.health-header h3{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.status-indicator{border-radius:50%;display:inline-block;flex-shrink:0;height:12px;width:12px}.health-metrics{gap:.75rem}.health-metrics,.metric{display:flex;flex-direction:column}.metric{gap:.25rem}.metric span{color:#cbd5e1;font-size:.875rem}.metric-bar{background-color:#33415566;border-radius:2px;height:4px;overflow:hidden}.metric-fill{height:100%;transition:width .3s ease}.last-error{background:#ef44441a;border:1px solid #ef444433;border-radius:4px;color:#fca5a5;font-size:.75rem;margin-top:.5rem;padding:.5rem}.pipeline-summary{grid-gap:1.5rem;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem;padding:1.5rem}.pipeline-summary.enhanced{background:#3b82f60d;border:1px solid #3b82f633}.summary-stat{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .3s ease}.summary-stat:hover{background:#ffffff14;transform:translateY(-2px)}.stat-icon{font-size:1.5rem;margin-bottom:.5rem}.stat-icon.spinning{animation:spin 2s linear infinite}.summary-stat.total .stat-icon{color:#64748b}.summary-stat.running .stat-icon{color:#3b82f6}.summary-stat.completed .stat-icon{color:#10b981}.summary-stat.failed .stat-icon{color:#ef4444}.stat-number{color:#fff;color:#10b981;font-family:monospace;font-size:2rem;font-weight:700;text-shadow:0 2px 4px #0000004d}.stat-label{font-size:.875rem}.pipeline-list{display:flex;flex-direction:column;gap:1rem;scrollbar-color:#3b82f6 #1a1a1a;scrollbar-width:thin}.pipeline-list::-webkit-scrollbar{width:6px}.pipeline-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.pipeline-list::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.pipeline-list::-webkit-scrollbar-thumb:hover{background:#2563eb}.pipeline-item{background:#f8fafc;border:1px solid #e2e8f0}.pipeline-info{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.pipeline-header{align-items:center;display:flex;flex:1 1;gap:.75rem}.pipeline-icon{align-items:center;color:#3b82f6;display:flex;flex-shrink:0;font-size:1.1rem;justify-content:center}.pipeline-details{display:flex;flex-direction:column;gap:.25rem}.pipeline-info h4{color:#374151;font-size:1rem;font-weight:500}.pipeline-status{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.pipeline-status.running{background:#dbeafe;color:#1e40af}.pipeline-status.completed{background:#dcfce7;color:#166534}.pipeline-status.failed{background:#fee2e2;color:#dc2626}.pipeline-progress{align-items:center;display:flex;gap:1rem;margin-top:1rem}.pipeline-progress.enhanced{align-items:center;flex-direction:row;justify-content:space-between}.progress-bar{background-color:#ffffff1a;flex:1 1;height:8px;overflow:hidden}.progress-bar,.progress-fill{border-radius:4px;position:relative}.progress-fill{background-color:#3b82f6;height:100%;transition:width .5s ease}.progress-fill:after{animation:progressShimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff3 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progressShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{color:#cbd5e1;font-family:monospace;font-size:.875rem;font-weight:600;min-width:50px;text-align:right}.eta-text{color:#94a3b8;font-size:.75rem;margin-left:.5rem}.pipeline-eta{background:#ecfdf5;color:#059669}.pipeline-error,.pipeline-eta{border-radius:4px;display:inline-block;font-size:.875rem;padding:.25rem .5rem}.pipeline-error{background:#fef2f2;color:#dc2626}.chart-container{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;box-sizing:border-box;height:320px;margin-top:1.5rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .2s ease;width:100%}.chart-container:hover{border-color:#3b82f6}.alerts-list{display:flex;flex-direction:column;gap:1rem}.alert-item{background:#1a1a1a;border:1px solid #2a2a2a;transition:all .2s ease}.alert-item:hover{border-color:#3b82f6;border-left-color:inherit;box-shadow:0 4px 12px #0000004d;cursor:pointer;transform:translateY(-2px)}.alert-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.alert-header .severity{flex-shrink:0}.alert-header .timestamp{flex-shrink:0;margin-left:auto}.new-badge{background:#10b981;flex-shrink:0;padding:.2rem .4rem}.severity{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.severity.error{background:#dc2626;color:#fff}.severity.warning{background:#d97706;color:#fff}.severity.info{background:#2563eb;color:#fff}.timestamp{color:#6b7280;font-family:monospace;font-size:.875rem}.alert-content h4{color:#374151;font-size:1rem;font-weight:500;margin-bottom:.5rem}.alert-content p{color:#6b7280;font-size:.875rem;margin-bottom:1rem}.ai-suggestion{border-left:3px solid #fff3;border-radius:6px}.ai-suggestion strong{color:#fff;display:block;margin-bottom:.5rem}.ai-suggestion p{background:#0000;border-radius:0;color:#fff;font-family:IBM Plex Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;margin:0;padding:0}.monitoring-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.monitoring-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;transition:all .2s ease}.monitoring-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.monitoring-header{align-items:center;border-bottom:1px solid #3341554d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.monitoring-header h3{color:#f1f5f9;font-size:1.1rem;font-weight:600}.monitoring-details{display:flex;flex-direction:column;gap:.75rem}.detail-item{align-items:center;justify-content:space-between}.detail-value{text-align:right}.satellite-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.satellite-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1e293b66;border:1px solid #3341554d;border-radius:8px;padding:1.5rem;transition:all .3s ease}.satellite-card:hover{border-color:#10b9814d;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.satellite-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.satellite-header h3{color:#f1f5f9;font-size:1rem;font-weight:600}.connection-status{align-items:center;display:flex;gap:.5rem}.status-dot{animation:pulse 2s infinite}.status-text{color:#cbd5e1;font-size:.75rem;font-weight:600}.satellite-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.satellite-metric{display:flex;flex-direction:column;gap:.25rem}.metric-label{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.metric-value{color:#10b981;font-size:1.1rem;font-weight:600}.pipeline-item{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1e293b66;border:1px solid #3341554d;border-radius:8px;padding:1rem;transition:all .3s ease}.pipeline-item:hover{box-shadow:0 4px 15px #0003;transform:translateY(-1px)}.pipeline-info h4{color:#f1f5f9;margin-bottom:.25rem}.pipeline-meta{align-items:center;color:#94a3b8;display:flex;font-size:.75rem;gap:.5rem}.alert-item{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-left:4px solid #6b7280;border-radius:8px;padding:1rem}.alert-content h4{color:#f1f5f9}.alert-click-hint{color:#94a3b8;font-size:.75rem;font-style:italic;margin-top:.5rem}.alert-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.alert-modal{animation:slideUp .3s ease-out;background:#1a1a1a;border:2px solid #2a2a2a;border-radius:16px;box-shadow:0 20px 60px #0009;max-height:85vh;max-width:800px;overflow-y:auto;width:90%}.alert-modal-header{align-items:center;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-title{align-items:center;display:flex;gap:.75rem}.modal-title h3{color:#f1f5f9;font-size:1.5rem;margin:0}.modal-close{background:none;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:all .2s ease}.modal-close:hover{background:#2a2a2a;color:#f1f5f9}.alert-modal-content{padding:2rem}.alert-modal-section{margin-bottom:2rem}.alert-modal-section:last-child{margin-bottom:0}.modal-severity-badge{border-radius:8px;display:inline-block;font-size:.875rem;font-weight:600;margin-bottom:1rem;padding:.5rem 1rem}.alert-modal-section h4{color:#f1f5f9;font-size:1.25rem;margin:0 0 .5rem}.alert-modal-section h5{align-items:center;color:#cbd5e1;display:flex;font-size:1rem;margin:0 0 1rem}.alert-modal-section p{color:#cbd5e1;line-height:1.6;margin:.5rem 0}.modal-timestamp{color:#94a3b8;font-size:.875rem}.modal-details{background:#0f172a;border-left:3px solid #3b82f6;color:#e2e8f0;margin-top:.75rem}.modal-details,.modal-impact{border-radius:8px;padding:1rem}.modal-impact{background:#fbbf241a;border-left:3px solid #f59e0b;color:#fbbf24;font-weight:500}.affected-resources-list{list-style:none;margin:0;padding:0}.affected-resources-list li{background:#0f172a;border-left:3px solid #10b981;border-radius:6px;margin-bottom:.5rem;padding:.75rem}.affected-resources-list code{color:#10b981;font-family:Monaco,Courier New,monospace;font-size:.875rem}.ai-suggestions-section{background:linear-gradient(135deg,#f59e0b0d,#fbbf240d);border:1px solid #f59e0b33;border-radius:12px;padding:1.5rem}.ai-suggestions-list{display:flex;flex-direction:column;gap:1rem}.ai-suggestion-item{background:#1a1a1a;border-left:3px solid #f59e0b;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;padding:1rem;transition:all .2s ease}.ai-suggestion-item:hover{border-left-color:#fbbf24;transform:translateX(5px)}.suggestion-header{align-items:center;display:flex;gap:.75rem}.suggestion-number{align-items:center;background:linear-gradient(135deg,#f59e0b,#fbbf24);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:28px;justify-content:center;width:28px}.confidence-badge{letter-spacing:.02em;padding:.35rem .75rem;white-space:nowrap}.ai-suggestion-item p{color:#e2e8f0;line-height:1.6;margin:0;padding-left:2.5rem}.alert-modal-footer{border-top:1px solid #2a2a2a;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.modal-btn.secondary{background:#2a2a2a;color:#cbd5e1}.modal-btn.secondary:hover{background:#374151}.modal-btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.modal-btn.primary:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.alert-content p{color:#cbd5e1}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#33415566;stroke-width:1}.recharts-text{fill:#cbd5e1!important;font-size:12px!important;font-weight:500!important}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:#33415599!important;stroke-width:1!important}.recharts-tooltip-wrapper{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.recharts-default-tooltip,.recharts-tooltip-wrapper{background:#0f172af2!important;border:1px solid #ffffff1a!important;border-radius:8px!important}.recharts-default-tooltip{color:#fff!important}.recharts-tooltip-label{color:#fff!important;font-weight:600!important;margin-bottom:4px!important}.recharts-tooltip-item-list .recharts-tooltip-item{color:#cbd5e1!important}.logs-container{display:flex;flex-direction:column;gap:2rem;height:calc(100vh - 4rem)}.logs-header{align-items:center;border-bottom:1px solid #3341554d;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-bottom:1rem}.logs-header h2{color:#f1f5f9;font-size:2rem;font-weight:700;margin:0}.log-controls{align-items:center;display:flex;gap:1rem}.filter-select,.refresh-btn{background:#0f172a99;border:1px solid #3341554d;border-radius:6px;color:#e2e8f0;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.filter-select:hover,.refresh-btn:hover{background:#0f172acc;border-color:#10b9814d}.data-table{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.table-header{align-items:center;background:#2a2a2a;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;padding:1rem 1.5rem}.table-title{color:#f1f5f9;font-size:1.25rem;margin:0}.table-content{flex:1 1;overflow-y:auto}.log-table{border-collapse:initial;border-spacing:0;width:100%}.log-table th{background:#2a2a2a;border-bottom:1px solid #3a3a3a;color:#fff;font-weight:600;text-align:left}.log-table td,.log-table th{font-size:.875rem;padding:1rem}.log-table td{border-bottom:1px solid #2a2a2a;vertical-align:top}.log-table tr{transition:all .2s ease}.log-table tr:hover{background:#2a2a2a}.log-table tr.expandable{cursor:pointer}.log-table tr.expanded{background:#3b82f60d}.timestamp-col{color:#94a3b8;font-family:monospace;width:180px}.tool-col{color:#e2e8f0;font-weight:500;white-space:nowrap;width:180px}.tool-col svg{color:#3b82f6;margin-right:.75rem;min-width:1rem}.severity-col{width:100px}.message-col{color:#cbd5e1;line-height:1.4}.severity-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.severity-badge.info{background:#3b82f633;border:1px solid #3b82f64d;color:#60a5fa}.severity-badge.warning{background:#f59e0b33;border:1px solid #f59e0b4d;color:#fbbf24}.severity-badge.error{background:#ef444433;border:1px solid #ef44444d;color:#f87171}.severity-badge.success{background:#10b98133;border:1px solid #10b9814d;color:#34d399}.expandable-row{background:#0f172acc}.expandable-content{border-top:1px solid #3341554d;padding:1.5rem}.ai-suggestion{border-radius:8px;padding:1rem}.ai-suggestion-header{font-size:.875rem;gap:.5rem;margin-bottom:.75rem}.ai-suggestion-content{color:#fff;font-size:.875rem;line-height:1.6}.code-snippet{background:#0006;border:1px solid #33415566;border-radius:6px;color:#e2e8f0;font-family:IBM Plex Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;margin:.75rem 0;overflow-x:auto;padding:1rem}.table-subtitle{font-size:.875rem}.confidence-badge{background:#10b98133;border:1px solid #10b9814d;border-radius:4px;color:#34d399;font-size:.7rem;font-weight:500;letter-spacing:.05em;padding:.25rem .5rem}.code-section,.message-section{margin-bottom:1.5rem}.code-section h4,.message-section h4{align-items:center;color:#f1f5f9;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.full-message{background:#1e293b66;border:1px solid #3341554d;border-radius:6px;color:#cbd5e1;font-size:.875rem;line-height:1.6;padding:1rem}.pipelines-container{display:flex;flex-direction:column;gap:2rem;height:calc(100vh - 4rem)}.quality-score{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;min-width:50px;padding:.25rem .5rem;text-align:center}.quality-score.excellent{background:#10b98133;border:1px solid #10b9814d;color:#34d399}.quality-score.good{background:#f59e0b33;border:1px solid #f59e0b4d;color:#fbbf24}.quality-score.poor{background:#ef444433;border:1px solid #ef44444d;color:#f87171}.file-details-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.properties-section,.validation-section{background:#1e293b66;border:1px solid #3341554d;border-radius:8px;padding:1.5rem}.properties-section h4,.validation-section h4{align-items:center;border-bottom:1px solid #3341554d;color:#f1f5f9;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.properties-grid{grid-gap:.75rem;display:grid;gap:.75rem}.property-item{align-items:center;border-bottom:1px solid #33415533;display:flex;justify-content:space-between;padding:.5rem 0}.property-item:last-child{border-bottom:none}.prop-label{color:#94a3b8;font-size:.875rem;font-weight:500}.prop-value{color:#e2e8f0;font-family:monospace;font-size:.875rem}.validation-rules{display:flex;flex-direction:column;gap:.75rem}.rule-result{background:#0f172a99;border:1px solid #3341554d;border-radius:6px;padding:1rem}.rule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.rule-name{color:#f1f5f9;font-size:.875rem;font-weight:500}.rule-status{align-items:center;border-radius:4px;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;padding:.25rem .5rem;text-transform:uppercase}.rule-status.passed{background:#10b98133;border:1px solid #10b9814d;color:#34d399}.rule-status.warning{background:#f59e0b33;border:1px solid #f59e0b4d;color:#fbbf24}.rule-status.failed{background:#ef444433;border:1px solid #ef44444d;color:#f87171}.rule-details{color:#94a3b8;display:flex;flex-direction:column;font-size:.8rem;gap:.25rem}.rules-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));padding:1rem}.rule-set-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #3341554d;border-radius:12px;padding:1.5rem;transition:all .3s ease}.rule-set-card:hover{border-color:#10b98166;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.rule-set-header{align-items:center;border-bottom:1px solid #3341554d;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.rule-set-header h4{color:#f1f5f9;font-size:1rem;font-weight:600;margin:0}.file-pattern{background:#3b82f633;border:1px solid #3b82f64d;border-radius:4px;color:#60a5fa;font-family:monospace;font-size:.75rem;padding:.25rem .5rem}.rule-set-rules{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.rule-item{grid-gap:1rem;align-items:center;background:#1e293b66;border-radius:4px;display:grid;font-size:.8rem;gap:1rem;grid-template-columns:2fr 1fr 2fr 1fr;padding:.5rem}.rule-field{color:#e2e8f0;font-weight:500}.rule-operator{color:#94a3b8;font-family:monospace;text-align:center}.rule-value{color:#60a5fa;font-family:monospace}.rule-severity{border-radius:4px;font-size:.7rem;font-weight:600;padding:.25rem .5rem;text-align:center;text-transform:uppercase}.rule-severity.error{background:#ef444433;color:#f87171}.rule-severity.warning{background:#f59e0b33;color:#fbbf24}.rule-severity.info{background:#3b82f633;color:#60a5fa}.rule-set-actions{display:flex;gap:.5rem;justify-content:flex-end}.delete-btn,.edit-btn,.test-btn{background:#0f172a99;border:1px solid #3341554d;border-radius:6px;color:#e2e8f0;cursor:pointer;font-size:.8rem;padding:.5rem 1rem;transition:all .2s ease}.edit-btn:hover{background:#3b82f61a;border-color:#3b82f680}.test-btn:hover{background:#10b9811a;border-color:#10b98180}.delete-btn:hover{background:#ef44441a;border-color:#ef444480}.debugging-assistant-container{display:flex;flex-direction:column;gap:2rem;height:calc(100vh - 4rem)}.debugging-header{border-bottom:1px solid #3341554d;display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1rem}.debugging-header h2{color:#f1f5f9;font-size:2rem;font-weight:700;margin:0}.search-section{align-items:center;display:flex;gap:1rem}.search-input-container{flex:1 1;max-width:600px;position:relative}.search-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #3341554d;color:#e2e8f0;font-size:.95rem;transition:all .2s ease}.search-input:focus{border-color:#10b98180;box-shadow:0 0 0 3px #10b9811a}.search-input::placeholder{color:#94a3b8}.error-list{display:flex;flex-direction:column;gap:1rem;padding:1rem}.error-entry{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #3341554d;border-radius:12px;overflow:hidden;transition:all .3s ease}.error-entry:hover{border-color:#10b9814d;box-shadow:0 4px 20px #0003;transform:translateY(-1px)}.error-entry.expanded{border-color:#3b82f666}.error-summary{cursor:pointer;padding:1.5rem;transition:all .2s ease}.error-summary:hover{background:#3341551a}.error-header{justify-content:space-between;margin-bottom:1rem}.error-category,.error-header{align-items:center;display:flex}.error-category{gap:.5rem}.category-icon{font-size:1.2rem}.category-name{background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;color:#60a5fa;font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.expand-indicator{color:#94a3b8;font-size:1rem;transition:transform .2s ease}.error-entry.expanded .expand-indicator{transform:rotate(0deg)}.error-message{margin:0}.error-message code{background:#0006;border:1px solid #33415566;border-radius:6px;color:#f87171;display:block;font-family:IBM Plex Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.4;overflow-x:auto;padding:.75rem 1rem}.error-details{background:#1e293b66;border-top:1px solid #3341554d;padding:1.5rem}.code-section,.explanation-section,.keywords-section,.solution-section{margin-bottom:1.5rem}.code-section:last-child,.explanation-section:last-child,.keywords-section:last-child,.solution-section:last-child{margin-bottom:0}.code-section h4,.explanation-section h4,.keywords-section h4,.solution-section h4{align-items:center;color:#f1f5f9;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.explanation-section p,.solution-section p{color:#cbd5e1;font-size:.875rem;line-height:1.6;margin:0}.keywords-list{display:flex;flex-wrap:wrap;gap:.5rem}.keyword-tag{background:#10b98133;border:1px solid #10b9814d;border-radius:4px;color:#34d399;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.no-results{align-items:center;display:flex;flex:1 1;justify-content:center}.no-results-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #3341554d;border-radius:12px;padding:3rem;text-align:center}.no-results-icon{display:block;font-size:3rem;margin-bottom:1rem}.no-results-content h3{color:#f1f5f9;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.no-results-content p{color:#94a3b8;font-size:.95rem;margin-bottom:1.5rem}.search-suggestions p{color:#cbd5e1;font-size:.875rem;font-weight:500;margin-bottom:1rem}.suggestion-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.suggestion-tag{background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;color:#60a5fa;cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.suggestion-tag:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-1px)}.service-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-right:.25rem;padding:.25rem .5rem;text-transform:uppercase}.service-badge.wms{background:#3b82f633;border:1px solid #3b82f64d;color:#60a5fa}.service-badge.wfs{background:#10b98133;border:1px solid #10b9814d;color:#34d399}.service-badge.wcs{background:#f59e0b33;border:1px solid #f59e0b4d;color:#fbbf24}.bbox-section,.connection-section,.metadata-section{background:#1e293b66;border:1px solid #3341554d;border-radius:8px;padding:1.5rem}.bbox-section h4,.connection-section h4,.metadata-section h4{align-items:center;border-bottom:1px solid #3341554d;color:#f1f5f9;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.layer-details-grid,.source-details-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric-item{align-items:center;border-bottom:1px solid #33415533;display:flex;justify-content:space-between;padding:.5rem 0}.metric-item:last-child{border-bottom:none}.metric-label{color:#94a3b8;font-size:.875rem;font-weight:500}.metric-value{color:#e2e8f0;font-family:monospace;font-size:.875rem}.metric-value.success{color:#34d399}.metric-value.warning{color:#fbbf24}.metric-value.error{color:#f87171}.api-limits-section,.endpoints-section,.performance-section,.queue-section{margin-bottom:1.5rem}.api-limits-section h4,.endpoints-section h4,.performance-section h4,.queue-section h4{align-items:center;border-bottom:1px solid #3341554d;color:#f1f5f9;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.endpoints-list{display:flex;flex-direction:column;gap:.75rem}.endpoint-item{align-items:center;background:#0f172a99;border:1px solid #3341554d;border-radius:6px;display:flex;gap:1rem;padding:.75rem}.endpoint-url{background:#0006;color:#94a3b8;flex:1 1;font-family:monospace;padding:.5rem}.endpoint-url,.test-endpoint-btn{border-radius:4px;font-size:.8rem}.test-endpoint-btn{background:#10b9811a;border:1px solid #10b9814d;color:#34d399;cursor:pointer;padding:.5rem 1rem;transition:all .2s ease}.test-endpoint-btn:hover{background:#10b98133;border-color:#10b98180}.limits-grid{display:flex;flex-direction:column;gap:1rem}.limit-item{background:#1e293b66;border:1px solid #3341554d;border-radius:6px;padding:1rem}.limit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.limit-label{color:#cbd5e1;font-size:.875rem;font-weight:500}.limit-usage{color:#94a3b8;font-family:monospace;font-size:.8rem}.queue-details{display:flex;gap:2rem}.queue-item{display:flex;flex-direction:column;gap:.25rem}.queue-label{color:#94a3b8;font-size:.8rem;font-weight:500}.queue-value{color:#e2e8f0;font-family:monospace;font-size:.9rem}.download-progress{align-items:center;display:flex;gap:.5rem}.download-progress .progress-bar{flex:1 1;min-width:60px}.download-progress .progress-text{color:#94a3b8;font-size:.75rem;min-width:35px;text-align:right}.capabilities-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));padding:1rem}.capability-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #3341554d;border-radius:12px;padding:1.5rem}.capability-header{align-items:center;border-bottom:1px solid #3341554d;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.capability-header h3{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin:0}.version-badge{background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;color:#60a5fa;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.capability-details{gap:1rem}.capability-details,.detail-item{display:flex;flex-direction:column}.detail-item{gap:.5rem}.detail-label{color:#94a3b8;font-size:.875rem;font-weight:500}.detail-value{color:#e2e8f0;font-family:monospace;font-size:.875rem}.crs-list,.formats-list,.operations-list{display:flex;flex-wrap:wrap;gap:.5rem}.crs-badge,.format-badge,.operation-badge{background:#10b98133;border:1px solid #10b9814d;border-radius:4px;color:#34d399;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.performance-overview{padding:1rem}.perf-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #3341554d;border-radius:12px;padding:2rem}.perf-card h4{border-bottom:1px solid #3341554d;color:#f1f5f9;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.perf-metrics{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.perf-metrics .metric{text-align:center}.perf-metrics .metric-value{color:#10b981;display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.perf-metrics .metric-label{color:#94a3b8;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.pipelines-header{display:flex;flex-direction:column;gap:1.5rem}.pipelines-header h2{color:#f1f5f9;font-size:2rem;font-weight:700;margin:0}.pipeline-tabs,.service-tabs{border-bottom:1px solid #3341554d;display:flex;gap:.5rem;padding-bottom:1rem}.service-tabs{justify-content:center;margin-top:1.5rem}.tab-btn{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#ccc;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.tab-btn:hover{background:#2a2a2a;color:#fff}.tab-btn.active{background:#007acc;border-color:#007acc;color:#fff}.files-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;height:600px}.files-list{overflow-y:auto;padding-right:1rem}.file-item{background:#0f172a99;border:1px solid #3341554d;border-radius:8px;cursor:pointer;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.file-item:hover{border-color:#10b9814d;transform:translateY(-1px)}.file-item.selected{background:#10b9811a;border-color:#10b98180}.file-detail{background:#0f172a99;border:1px solid #3341554d;border-radius:8px;overflow-y:auto;padding:1.5rem}.web-services-container{display:flex;flex-direction:column;gap:2rem}.web-services-header{display:flex;flex-direction:column;gap:1.5rem}.web-services-header h2{color:#f1f5f9;font-size:2rem;font-weight:700;margin:0}.bands-section{background:#1e293b66;border:1px solid #3341554d;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.bands-section h4{align-items:center;border-bottom:1px solid #3341554d;color:#f1f5f9;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.bands-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.band-item{align-items:center;background:#0f172a99;border:1px solid #3341554d;border-radius:6px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.band-item:hover{background:#3b82f61a;border-color:#3b82f680;transform:translateY(-2px)}.band-number{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:.7rem;font-weight:600;height:50px;justify-content:center;line-height:1.2;text-align:center;width:50px}.band-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.band-name{color:#e2e8f0;font-size:.85rem;font-weight:500}.band-specs{display:flex;flex-wrap:wrap;gap:.75rem}.band-spec{color:#94a3b8;font-family:monospace;font-size:.75rem}.metric-clickable{border-radius:6px;padding:.5rem;transition:all .2s ease}.metric-clickable:hover{background:#ef444426;box-shadow:0 0 0 2px #ef44444d;transform:scale(1.05)}.services-stats{flex-wrap:wrap;gap:2rem;margin-top:1.5rem}.services-stats,.services-stats .stat-item{align-items:center;display:flex;justify-content:center}.services-stats .stat-item{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;min-width:130px;padding:1.25rem 1.75rem;text-align:center;transition:all .3s ease}.services-stats .stat-item:hover{background:#ffffff14;border-color:#3b82f64d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.services-stats .stat-value{color:#fff;font-family:IBM Plex Mono,monospace;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.services-stats .stat-label{color:#94a3b8;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-align:center;text-transform:uppercase}.stat-value{display:block}.stat-label{letter-spacing:.05em}.external-sources-container{display:flex;flex-direction:column;gap:2.5rem;padding:2rem}.sources-header{display:flex;flex-direction:column;gap:1.5rem}.sources-stats{align-items:center;display:flex;flex-wrap:wrap;gap:2rem}.stat-item{border-radius:12px;min-width:120px;padding:1rem 1.5rem;transition:all .3s ease}.stat-item:hover{background:#ffffff14;border-color:#3b82f64d;transform:translateY(-2px)}.stat-value{font-family:monospace;font-size:2rem;margin-bottom:.5rem}.stat-label{font-size:.8rem;font-weight:500}.sources-header h2{color:#f1f5f9;font-size:2rem;font-weight:700;margin:0}.sources-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sources-tabs{border-bottom:1px solid #3341554d;display:flex;gap:.5rem;padding-bottom:1rem}.sources-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;height:600px}.sources-list{overflow-y:auto;padding-right:1rem}.source-item{background:#0f172a99;border:1px solid #3341554d;border-radius:8px;cursor:pointer;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.source-item:hover{border-color:#10b9814d;transform:translateY(-1px)}.source-item.selected{background:#10b9811a;border-color:#10b98180}.source-detail{background:#0f172a99;border:1px solid #3341554d;border-radius:8px;overflow-y:auto;padding:1.5rem}.guided-tour-overlay{bottom:0;left:0;overflow-x:hidden;overflow-y:auto;pointer-events:none;position:fixed;right:0;top:0;z-index:10000}.tour-backdrop{background:#0000004d;bottom:0;left:0;right:0;top:0}.tour-backdrop,.tour-tooltip{pointer-events:all;position:absolute}.tour-tooltip{animation:tourFadeIn .3s ease-out;background:#1a1a1a;border:2px solid #f97316;border-radius:12px;box-shadow:0 10px 40px #00000080;max-width:320px;min-width:280px;width:-webkit-fit-content;width:fit-content;z-index:10001}@keyframes tourFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tour-header{border-bottom:1px solid #2a2a2a;justify-content:space-between;padding:1rem 1.5rem .5rem}.tour-header,.tour-title{align-items:center;display:flex}.tour-title{color:#fff;font-size:1rem;font-weight:600;gap:.5rem}.tour-title svg{color:#007acc}.tour-close{background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:all .2s ease}.tour-close:hover{background:#2a2a2a;color:#fff}.tour-content{padding:1rem 1.5rem}.tour-content p{color:#ccc;font-size:.95rem;line-height:1.6;margin:0}.tour-footer{align-items:center;border-top:1px solid #2a2a2a;display:flex;flex-wrap:nowrap;gap:.8rem;justify-content:space-between;padding:.8rem 1.2rem}.tour-progress{color:#888;display:flex;flex-direction:column;flex-shrink:1;font-size:.75rem;gap:.4rem;min-width:0}.progress-dots{display:flex;gap:.3rem}.progress-dot{background:#3a3a3a;border-radius:50%;height:6px;transition:all .2s ease;width:6px}.progress-dot.active{background:#007acc;transform:scale(1.2)}.progress-dot.completed{background:#00c851}.tour-controls{flex-wrap:nowrap;gap:.5rem}.tour-btn,.tour-controls{align-items:center;display:flex;flex-shrink:0}.tour-btn{border:none;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;gap:.3rem;max-width:-webkit-fit-content;max-width:fit-content;padding:.35rem .7rem;transition:all .2s ease;white-space:nowrap}.tour-btn.primary{background:#007acc;color:#fff}.tour-btn.primary:hover{background:#0066a3;transform:translateY(-1px)}.tour-btn.secondary{background:#2a2a2a;border:1px solid #3a3a3a;color:#ccc}.tour-btn.secondary:hover{background:#3a3a3a;color:#fff}.tour-btn.skip{background:none;color:#888;font-size:.75rem;padding:.3rem .4rem;text-decoration:underline}.tour-btn.skip:hover{color:#ccc}.tour-trigger{align-items:center;background:#f97316;border:none;border-radius:50px;bottom:2rem;box-shadow:0 4px 20px #f973164d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;position:fixed;right:2rem;transition:all .3s ease;z-index:1000}.tour-trigger:hover{background:#ea580c;box-shadow:0 6px 25px #f9731666;transform:translateY(-2px)}.tour-trigger svg{font-size:1rem}.pipeline-flow{background:#0f172a99;border:1px solid #33415566;border-radius:16px;display:flex;flex-direction:column;gap:2rem;margin:1.5rem 0;padding:2.5rem}.pipeline-stage{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172acc;border:2px solid #33415566;border-radius:16px;padding:2rem;position:relative;transition:all .3s ease}.pipeline-stage.active{background:#10b98126;border-color:#10b981cc;box-shadow:0 8px 32px #10b98133}.pipeline-stage.processing{background:#f59e0b26;border-color:#f59e0bcc;box-shadow:0 8px 32px #f59e0b33}.stage-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.stage-header,.stage-header h4{align-items:center;display:flex}.stage-header h4{color:#fff;font-size:1.3rem;font-weight:700;gap:.75rem;margin:0}.stage-status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.pipeline-stage.active .stage-status-badge{background:#10b9814d;border:1px solid #10b98180;color:#10b981}.pipeline-stage.processing .stage-status-badge{background:#f59e0b4d;border:1px solid #f59e0b80;color:#f59e0b}.stage-metrics{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:1.5rem}.stage-metric{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1rem;text-align:center}.stage-metric-value{color:#fff;font-family:monospace;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stage-metric-label{color:#94a3b8;font-size:.9rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stage-capacity{color:#cbd5e1;font-size:.9rem;font-weight:600;position:absolute;right:1.5rem;top:1rem}.stage-icon{color:#10b981;margin-right:.5rem}.stage-status{border-radius:16px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.stage-status.healthy{background:#10b98133;border:1px solid #10b9814d;color:#10b981}.stage-status.processing{background:#f59e0b33;border:1px solid #f59e0b4d;color:#f59e0b}.stage-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.stage-metrics .metric{text-align:center}.stage-metrics .metric-value{color:#10b981;display:block;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.stage-metrics .metric-label{color:#94a3b8;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.stage-progress{align-items:center;display:flex;gap:1rem}.stage-progress .progress-bar{background:#10b981cc;border-radius:3px;height:6px;transition:width .5s ease}.stage-progress .progress-bar.warning{background:#f59e0bcc}.pipeline-arrow{color:#64748b;font-size:1.5rem;margin:.5rem 0;text-align:center}.heartbeat-line{animation:heartbeatFlow 2s ease-in-out infinite}.heartbeat-dot{animation:heartbeatPulse 2s ease-in-out infinite}@keyframes heartbeatFlow{0%,to{stroke-opacity:.6}50%{stroke-opacity:1}}@keyframes heartbeatPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.pipeline-controls{align-items:center;display:flex;gap:.5rem}.processing-queue{display:flex;flex-direction:column;gap:.75rem}.queue-item{grid-gap:1rem;align-items:center;background:#0f172a66;border:1px solid #3341554d;border-radius:8px;display:grid;gap:1rem;grid-template-columns:auto 1fr auto auto;padding:.75rem}.queue-item .file-icon{color:#10b981;font-size:1.1rem}.file-info{display:flex;flex-direction:column;gap:.25rem}.file-name{color:#f1f5f9;font-weight:500}.file-stage{color:#94a3b8;font-size:.75rem}.processing-time{color:#94a3b8;font-family:monospace;font-size:.875rem}.progress-mini{background:#3341554d;border-radius:2px;height:4px;overflow:hidden;width:80px}.progress-bar-mini{background:linear-gradient(90deg,#10b981,#34d399);border-radius:2px;height:100%;transition:width .3s ease}.stage-details-section{background:#0f172a66;border:1px solid #3341554d;border-radius:12px;margin-top:2rem;padding:1.5rem}.stage-details-section h4{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.analytics-overview{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.analytics-card{background:#0f172a99;border:1px solid #3341554d;border-radius:12px;padding:2rem}.analytics-card h4{border-bottom:1px solid #3341554d;color:#f1f5f9;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:1rem}.analytics-metrics{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.analytics-metric{text-align:center}.analytics-metric .metric-value{color:#10b981;display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.analytics-metric .metric-label{color:#94a3b8;display:block;font-size:.875rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.metric-trend{display:block;font-size:.75rem;font-weight:500}.metric-trend.positive{color:#10b981}.metric-trend.negative{color:#ef4444}.error-breakdown{display:flex;flex-direction:column;gap:1rem}.error-category{grid-gap:1rem;background:#0f172a66;border:1px solid #3341554d;border-radius:8px;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr;padding:1rem}.error-type{color:#f1f5f9;font-weight:500}.error-count{color:#ef4444;font-family:monospace;font-weight:600}.error-trend{color:#94a3b8;font-size:.875rem}.source-performance{display:flex;flex-direction:column;gap:1rem}.source-performance .source-item{grid-gap:1rem;background:#0f172a66;border:1px solid #3341554d;border-radius:8px;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr;padding:1rem}.source-name{color:#f1f5f9;font-weight:500}.source-volume{color:#94a3b8;font-family:monospace}.source-success{color:#10b981;font-weight:600}.debugging-tabs{border-bottom:1px solid #3341554d;display:flex;gap:.5rem;margin-bottom:2rem;padding-bottom:1rem}.debugging-filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.debugging-filters .search-box{flex:1 1;min-width:300px}.filter-controls{display:flex;gap:.5rem}.debugging-groups{display:flex;flex-direction:column;gap:1.5rem}.tool-group{background:#0f172a66;border:1px solid #3341554d;border-radius:12px;overflow:hidden}.tool-group-header{align-items:center;background:#0f172a99;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:all .2s ease}.tool-group-header:hover{background:#0f172acc}.group-toggle-icon{color:#64748b;margin-right:.75rem;transition:transform .2s ease}.tool-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.tool-icon{color:#10b981;font-size:1.2rem}.tool-name{color:#f1f5f9;font-size:1.1rem;font-weight:600}.tool-stats{align-items:center;display:flex;gap:1rem}.error-count,.total-count,.warning-count{font-size:.875rem;font-weight:500}.total-count{color:#94a3b8}.tool-logs{display:flex;flex-direction:column;gap:.75rem;padding:0 1.5rem 1rem}.log-entry{background:#0f172a99;border:1px solid #3341554d;border-radius:8px;overflow:hidden}.log-header{align-items:center;cursor:pointer;display:flex;padding:1rem;transition:all .2s ease}.log-header:hover{background:#0f172acc}.log-severity{align-items:center;display:flex;gap:.5rem;margin-right:1rem;min-width:80px}.severity-text{font-size:.75rem;font-weight:600}.log-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.log-message{color:#f1f5f9;font-weight:500;line-height:1.4}.log-metadata{color:#94a3b8;display:flex;font-size:.75rem;gap:1rem}.frequency{align-items:center;display:flex;gap:.25rem}.log-toggle-icon{color:#64748b;transition:transform .2s ease}.log-details{background:#0f172a66;border-top:1px solid #3341554d;padding:1rem}.ai-suggestion-panel{background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;margin-bottom:1rem;padding:1rem}.ai-suggestion-panel .ai-suggestion-header{align-items:center;color:#fff;display:flex;gap:.5rem;margin-bottom:.5rem}.ai-suggestion-panel .ai-suggestion-content p{color:#f1f5f9;line-height:1.5;margin:0}.fix-section{margin-top:1rem}.fix-section h4{color:#f1f5f9;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.fix-command{align-items:center;background:#0f172acc;border:1px solid #3341554d;border-radius:4px;display:flex;gap:.5rem;margin-bottom:.5rem;padding:.5rem}.fix-command code{color:#10b981;flex:1 1;font-family:Monaco,Menlo,monospace;font-size:.8rem}.copy-btn{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;padding:.25rem;transition:all .2s ease}.copy-btn:hover{background:#10b9811a;color:#10b981}.docs-link{align-items:center;color:#10b981;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;text-decoration:none;transition:color .2s ease}.docs-link:hover{color:#34d399}.export-btn{align-items:center;background:#007acc;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.export-btn:hover{background:#0066a3;transform:translateY(-1px)}.live-indicator{align-items:center;color:#94a3b8;display:flex;font-size:.8rem;gap:.5rem}.live-dot{background-color:#ef4444;border-radius:50%;height:8px;width:8px}.live-dot.live{animation:livePulse 2s infinite;background-color:#10b981}@keyframes livePulse{0%{opacity:1;transform:scale(1)}25%{opacity:.7;transform:scale(1.15)}50%{opacity:1;transform:scale(1)}75%{opacity:.7;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.live-text{font-weight:500;letter-spacing:.5px;text-transform:uppercase}.header-title{justify-content:space-between;margin-bottom:1rem;width:100%}.live-card{overflow:hidden;position:relative;transition:all .3s ease}.live-card:hover{border-color:#007acc66;transform:translateY(-2px)}.card-indicator{animation:statusBlink 3s infinite;border-radius:50%;height:6px;position:absolute;right:8px;top:8px;width:6px}.card-indicator.processing{background-color:#f59e0b}.card-indicator.healthy{background-color:#10b981}.card-indicator.active{background-color:#3b82f6}.card-indicator.connected{background-color:#8b5cf6}@keyframes statusBlink{0%,70%,to{opacity:1}35%{opacity:.3}}.alert-counter{align-items:center;color:#f59e0b;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;margin-left:auto}.pulse-indicator{animation:alertPulse 1.5s infinite;background-color:#f59e0b;border-radius:50%;height:6px;width:6px}@keyframes alertPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.new-alert{animation:slideInNew .5s ease-out;border-left:4px solid #10b981!important;position:relative}@keyframes slideInNew{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.new-badge{animation:newBadgePulse 2s infinite;background-color:#10b981;border-radius:4px;color:#fff;font-size:.6rem;font-weight:600;padding:2px 6px}@keyframes newBadgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.summary-value{animation:countUp .6s ease-out}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.live-stats{grid-gap:1rem;background:#1e293b80;border:1px solid #334155;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1rem;padding:1rem}.live-stat{flex:1 1;text-align:center}.live-stat-value{animation:valueUpdate .5s ease-out;color:#007acc;font-family:monospace;font-size:1.2rem;font-weight:600}@keyframes valueUpdate{0%{color:#10b981;transform:scale(1.1)}to{color:#007acc;transform:scale(1)}}.live-stat-label{color:#94a3b8;font-size:.8rem;margin-top:.25rem}.status-indicator{position:relative}.status-indicator.processing:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px}.streaming-indicator{align-items:center;color:#94a3b8;display:flex;font-size:.8rem;gap:.5rem}.streaming-dot{background-color:#6b7280;border-radius:50%;height:8px;width:8px}.streaming-dot.active{animation:streamPulse 1.5s infinite;background-color:#ef4444}@keyframes streamPulse{0%,to{background-color:#ef4444;opacity:1;transform:scale(1)}50%{background-color:#f87171;opacity:.6;transform:scale(1.3)}}.streaming-text{font-weight:500;letter-spacing:.5px;text-transform:uppercase}.streaming-toggle-btn{background:#334155;border:1px solid #475569;font-size:.875rem;font-weight:500}.streaming-toggle-btn:hover{background:#475569;border-color:#64748b;color:#e2e8f0}.streaming-toggle-btn.active{background:#ef4444;border-color:#ef4444;color:#fff}.streaming-toggle-btn.active:hover{background:#dc2626;border-color:#dc2626}.log-row.new-entry{animation:logSlideIn .5s ease-out;background-color:#10b9811a!important;border-left:3px solid #10b981}@keyframes logSlideIn{0%{background-color:#10b98133;opacity:0;transform:translateY(-20px)}to{background-color:#10b9811a;opacity:1;transform:translateY(0)}}.processing-badge{overflow:hidden;position:relative}.processing-badge:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.data-flow{overflow:hidden;position:relative}.data-flow:before{animation:dataFlow 3s infinite;background:linear-gradient(90deg,#0000,#007acc,#0000);content:"";height:2px;left:0;position:absolute;top:0;width:100%}@keyframes dataFlow{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.system-status{align-items:center;display:flex;gap:.5rem;margin-top:1rem;padding:.75rem}.status-dot{height:8px;width:8px}.status-text{color:#10b981;font-size:.8rem;font-weight:500}.tour-highlight{animation:tourPulse 2s infinite!important;background:linear-gradient(135deg,#f9731626,#f9731614)!important;border-radius:8px!important;box-shadow:inset 0 0 0 2px #f97316,0 0 0 2px #f97316,0 0 0 5px #f973164d,0 0 25px #f9731680!important;filter:brightness(1.05)!important;outline:none!important;overflow:visible!important;position:relative!important;transform:none!important;transition:all .3s ease!important;z-index:9999!important}@keyframes tourPulse{0%{box-shadow:inset 0 0 0 2px #f97316,0 0 0 2px #f97316,0 0 0 5px #f973164d,0 0 25px #f9731680}50%{box-shadow:inset 0 0 0 2px #fb923c,0 0 0 2px #fb923c,0 0 0 7px #fb923c66,0 0 35px #fb923cb3}to{box-shadow:inset 0 0 0 2px #f97316,0 0 0 2px #f97316,0 0 0 5px #f973164d,0 0 25px #f9731680}}.welcome-banner{align-items:center;animation:slideDown .5s ease-out;background:linear-gradient(135deg,#007acc,#0066a3);border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.welcome-content h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.welcome-content p{font-size:.875rem;margin:0;opacity:.9}.welcome-actions{align-items:center;display:flex;gap:.75rem}.welcome-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.welcome-btn:hover{background:#fff3;border-color:#ffffff4d}.welcome-btn.primary{background:#fff;color:#007acc;font-weight:500}.welcome-btn.primary:hover{background:#f0f9ff}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:1rem}.overview-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.quick-stats-grid{grid-template-columns:1fr}.files-layout,.sources-layout{grid-template-columns:1fr;height:auto}.logs-header,.pipelines-header,.sources-header,.web-services-header{gap:1rem}.log-controls{align-items:stretch;flex-direction:column}.pipeline-tabs,.sources-tabs{flex-wrap:wrap}.health-grid,.monitoring-grid,.satellite-grid{grid-template-columns:1fr}.pipeline-summary{flex-wrap:wrap}.pipeline-progress{align-items:stretch;flex-direction:column;gap:.5rem}.progress-text{text-align:left}.satellite-metrics{grid-template-columns:1fr}.services-stats,.sources-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}.sidebar-footer{border-top:1px solid #2a2a2a;box-sizing:border-box;margin-top:auto;overflow:hidden;padding:1rem 1.5rem;width:100%}.status-item{word-wrap:break-word;align-items:flex-start;display:flex;font-size:.7rem;font-weight:500;gap:.5rem;margin-bottom:.4rem;overflow-wrap:break-word}.status-item:first-child{font-size:.75rem;font-weight:600;margin-bottom:.6rem}.status-label{color:#64748b;font-size:.85rem;font-weight:500}.status-value{word-wrap:break-word;color:#cbd5e1;flex:1 1;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;line-height:1.2;min-width:0;overflow-wrap:break-word}.status-dot{background-color:#6b7280;border-radius:50%;height:6px;width:6px}.status-dot.online{animation:statusPulse 2s infinite;background-color:#10b981;box-shadow:0 0 0 0 #10b981b3}@keyframes statusPulse{0%{box-shadow:0 0 0 0 #10b981b3}70%{box-shadow:0 0 0 4px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.loading-state{align-items:center;color:#cbd5e1;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #374151;border-radius:50%;border-top-color:#60a5fa;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard-loading{flex-direction:column;gap:2rem;height:70vh}.dashboard-loading,.loading-orbit{align-items:center;display:flex;justify-content:center}.loading-orbit{height:150px;position:relative;width:150px}.loading-orbit:before{animation:logoFloat 3s ease-in-out infinite;background-image:url(/static/media/logo-spheroid.4f99e0fd503ccd7c7664.png);background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";height:60px;position:absolute;width:60px;z-index:1}@keyframes logoFloat{0%,to{opacity:.8;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-10px) scale(1.1)}}.orbit-circle{animation:orbit 2s linear infinite;border:3px solid #0000;border-radius:50%;position:absolute}.orbit-circle:first-child{animation-duration:1.5s;border-top-color:#1e40af;height:150px;width:150px}.orbit-circle:nth-child(2){animation-direction:reverse;animation-duration:2s;border-right-color:#3b82f6;height:110px;left:20px;top:20px;width:110px}.orbit-circle:nth-child(3){animation-duration:1.2s;border-bottom-color:#60a5fa;height:70px;left:40px;top:40px;width:70px}@keyframes orbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#cbd5e1;text-align:center}.loading-text h3{animation:pulse-text 2s ease-in-out infinite;color:#3b82f6;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.loading-text p{color:#94a3b8;font-size:1rem;margin:0}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.6}}.modern-loading-container{padding:2rem}.modern-loading{max-width:300px}.loading-dots{margin-bottom:1.5rem}.loading-dots .dot{animation:dotPulse 1.4s ease-in-out infinite;background:linear-gradient(45deg,#60a5fa,#3b82f6);border-radius:50%;height:12px;width:12px}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}.loading-dots .dot:nth-child(3){animation-delay:0s}@keyframes dotPulse{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.modern-loading h3{color:#e2e8f0;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.modern-loading p{color:#94a3b8;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.loading-progress{background:#374151;height:3px;width:100%}.progress-bar{animation:progressFlow 2s ease-in-out infinite;background:linear-gradient(90deg,#3b82f6,#60a5fa,#8b5cf6);background-size:200% 100%;border-radius:2px}@keyframes progressFlow{0%{background-position:200% 0;transform:translateX(-100%)}to{background-position:-200% 0;transform:translateX(100%)}}.error-container{padding:2rem}.error-container h3{color:#e2e8f0;font-weight:600}.error-container p{color:#94a3b8;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.retry-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.retry-btn:hover{border-color:#3b82f699;transform:translateY(-1px)}.pipeline-throughput-widget{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.throughput-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.throughput-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;display:flex;flex-direction:column;padding:1rem;text-align:center}.throughput-item .metric-value,.throughput-item .value{color:#3b82f6;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.throughput-item .label,.throughput-item .metric-label{color:#94a3b8;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.metric-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.metric-card .header{align-items:center;display:flex;gap:.75rem}.metric-card .icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:8px;color:#fff;display:flex;font-size:1.2rem;height:40px;justify-content:center;width:40px}.metric-card .value{color:#fff;font-size:2rem;font-weight:700;margin:.5rem 0}.metric-card .label{color:#94a3b8;font-size:.9rem}.status-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1.5rem}.status-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;overflow:hidden;padding:1.5rem;position:relative}.status-card:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:3px;left:0;position:absolute;right:0;top:0}.status-card.warning:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.status-card.error:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.status-card.maintenance:before{background:linear-gradient(90deg,#6b7280,#4b5563)}.status-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.service-info h3{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.service-info .type{color:#94a3b8;font-size:.85rem}.status-badge{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid;border-radius:24px;display:inline-flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;padding:.6rem 1.2rem;text-transform:uppercase}.status-badge.operational{background:#10b98133;border-color:#10b98166;color:#10b981}.status-badge.warning{background:#f59e0b33;border-color:#f59e0b66;color:#f59e0b}.status-badge.error{background:#ef444433;border-color:#ef444466;color:#ef4444}.status-badge.maintenance{background:#8b5cf633;border-color:#8b5cf666;color:#8b5cf6}.status-badge.slow{background:#f59e0b33;border-color:#f59e0b66;color:#f59e0b}.status-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1rem}.status-metric{text-align:center}.status-metric .value{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:.25rem}.status-metric .label{color:#94a3b8;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.tab-buttons{border-bottom:1px solid #ffffff1a;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:#94a3b8;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.tab-button:hover{background:#ffffff0d;color:#fff}.tab-button.active{background:#3b82f61a;border-bottom-color:#3b82f6;color:#3b82f6}.data-table{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1acc;border:1px solid #2a2a2acc;border-radius:16px;box-shadow:0 4px 20px #0000004d;margin-bottom:2rem;padding:2rem}.table-header{border-bottom:1px solid #ffffff1a;margin-bottom:2rem;padding-bottom:1rem}.table-title{color:#fff;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.table-subtitle{color:#94a3b8;font-size:.9rem;font-style:italic}.table-content{overflow-x:auto}.sources-table{background:#ffffff08;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 4px 20px #0003;overflow:hidden;width:100%}.sources-table thead{background:#3b82f61a;border-bottom:2px solid #3b82f633}.sources-table th{border-right:1px solid #ffffff0d;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1.5rem 1rem;text-align:left;text-transform:uppercase}.sources-table th:last-child{border-right:none}.sources-table tbody tr{border-bottom:1px solid #ffffff0d;transition:all .3s ease}.sources-table tbody tr:hover{background:#ffffff0d;transform:translateY(-1px)}.sources-table td{border-right:1px solid #ffffff08;color:#cbd5e1;padding:1.25rem 1rem;vertical-align:middle}.sources-table td:last-child{border-right:none}.source-info{gap:1rem}.source-icon,.source-info{align-items:center;display:flex}.source-icon{background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;color:#3b82f6;font-size:1.3rem;justify-content:center;min-width:1.3rem;padding:.5rem}.source-name{color:#fff;font-size:1rem;font-weight:600;margin-bottom:.25rem}.source-type{color:#94a3b8;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.sources-filters{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.search-icon{font-size:1rem;left:1rem}.search-input{padding:.75rem 1rem .75rem 3rem;transition:all .3s ease}.search-input:focus{border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.search-input::placeholder{color:#64748b}.filter-select{min-width:150px;transition:all .3s ease}.filter-select:focus{background:#ffffff14;border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a;outline:none}.filter-select option{background:#1a1a1a;color:#fff}.health-overview-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:2rem}.health-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:2rem;transition:all .3s ease}.health-card:hover{border-color:#3b82f64d;transform:translateY(-2px)}.health-card-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.health-card-header svg{background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;color:#3b82f6;font-size:1.5rem;padding:.75rem}.health-card-header h4{color:#fff;flex:1 1;font-size:1.2rem;font-weight:600;margin:0}.health-indicator{border-radius:50%;display:inline-block;flex-shrink:0;height:12px;width:12px}.health-indicator.healthy{background:#10b981;border:1px solid #10b98199}.health-indicator.warning{background:#f59e0b;border:1px solid #f59e0b99}.health-indicator.error{background:#ef4444;border:1px solid #ef444499}.health-metrics{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.health-metric{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease}.health-metric:hover{background:#ffffff14;transform:translateY(-1px)}.health-metric .metric-value{color:#fff;display:block;font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.health-metric .metric-label{color:#94a3b8;font-size:.7rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.health-trends-section{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-top:2rem;padding:1.5rem}.health-trends-section h4{align-items:center;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.trends-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.trend-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1rem}.trend-label{color:#cbd5e1;font-size:.9rem;font-weight:500}.sparkline-container{align-items:center;display:flex;gap:1rem;justify-content:space-between}.sparkline{flex-shrink:0;height:30px;width:100px}.trend-value{border-radius:4px;font-size:.9rem;font-weight:600;padding:.25rem .5rem;white-space:nowrap}.trend-value.improving{background:#10b9811a;color:#10b981}.trend-value.degrading{background:#ef44441a;color:#ef4444}.trend-value.stable{background:#94a3b81a;color:#94a3b8}.debug-table,.log-table{border-collapse:collapse;width:100%}.debug-table th,.log-table th{background:#ffffff0d;border-bottom:1px solid #ffffff1a;color:#e2e8f0;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.debug-table td,.log-table td{border-bottom:1px solid #ffffff0d;padding:1rem;vertical-align:top}.debug-table tbody tr:hover,.log-table tbody tr:hover{background:#ffffff08}.expandable{cursor:pointer;transition:background-color .2s ease}.expandable:hover{background:#ffffff0d}.expandable.expanded{background:#3b82f626;border-left:4px solid #3b82f6;box-shadow:0 2px 8px #3b82f633}.expandable-row{background:#3b82f614;border-left:4px solid #3b82f6}.expandable-content{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a99;border:1px solid #ffffff1a;border-radius:8px;margin:.5rem;padding:2rem}.ai-suggestion{background:#0000;border:1px solid #ffffff1a;border-radius:12px;margin-top:1rem;padding:1.5rem}.ai-suggestion-header{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem}.ai-suggestion-header svg{color:#fff}.confidence-badge{border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-left:auto;padding:.4rem .8rem;text-transform:uppercase}.confidence-badge.high{background:#ef444433;border:1px solid #ef44444d;color:#ef4444}.confidence-badge.medium{background:#f59e0b33;border:1px solid #f59e0b4d;color:#f59e0b}.ai-section{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:1.5rem}.ai-section strong{color:#fff;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.ai-section p{color:#fff;font-size:.9rem;font-weight:400;line-height:1.6;margin:0}.action-list{list-style:none;margin:.5rem 0 0 1.5rem;padding:0}.action-list li{color:#e2e8f0;font-size:.9rem;padding:.25rem 0;position:relative}.action-list li:before{color:#10b981;content:"→";font-weight:700;left:-1rem;position:absolute}.search-controls{display:flex;gap:1rem;margin-bottom:1rem}.search-box{flex:1 1;max-width:400px;position:relative}.search-input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:.9rem;padding:.75rem 2.5rem .75rem 1rem;width:100%}.search-input:focus{background:#ffffff14;border-color:#3b82f6;outline:none}.search-icon{pointer-events:none;right:1rem}.clear-search,.search-icon{color:#94a3b8;position:absolute;top:50%;transform:translateY(-50%)}.clear-search{background:none;border:none;cursor:pointer;padding:.25rem;right:.5rem}.filter-select{color:#fff}.control-btn,.filter-select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;font-size:.9rem;padding:.75rem 1rem}.control-btn{color:#94a3b8;cursor:pointer;transition:all .2s ease}.control-btn:hover{background:#ffffff1a;color:#fff}.control-btn.active{background:#3b82f633;border-color:#3b82f6;color:#3b82f6}.pipeline-widgets{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.active-pipelines-widget{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem}.active-pipelines-widget h4,.pipeline-throughput-widget h4{align-items:center;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.pipeline-stages{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1rem}.stage-indicator{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center;transition:all .3s ease}.stage-indicator:hover{background:#ffffff0f;border-color:#3b82f64d;transform:translateY(-2px)}.stage-dot{animation:stagePulse 2s infinite;background:#3b82f6;border-radius:50%;display:inline-block;height:12px;position:relative;width:12px}.stage-indicator.ingestion .stage-dot{background:#10b981}.stage-indicator.validation .stage-dot{background:#f59e0b}.stage-indicator.transformation .stage-dot{background:#8b5cf6}.stage-indicator.publishing .stage-dot{background:#ef4444}@keyframes stagePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.stage-name{color:#cbd5e1;font-weight:500}.stage-count{color:#fff;font-family:monospace}.stage-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;padding:1rem;text-align:center}.stage-name{color:#94a3b8;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stage-count{color:#10b981;font-size:1.5rem;font-weight:700}.service-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:1rem;overflow:hidden;padding:1.5rem;position:relative}.service-card:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:3px;left:0;position:absolute;right:0;top:0}.service-card.warning:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.service-card.error:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.service-card.maintenance:before{background:linear-gradient(90deg,#6b7280,#4b5563)}.service-card.slow:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.service-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.service-title{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:.25rem}.service-type{color:#94a3b8;font-size:.9rem}.service-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:1rem}.service-metric{text-align:center}.service-metric .value{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.service-metric .label{color:#94a3b8;font-size:.75rem}.quota-progress{background:#ffffff1a;border-radius:3px;height:6px;margin:.5rem 0;overflow:hidden;width:100%}.quota-progress .fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%;transition:width .3s ease}.quota-progress.warning .fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.quota-progress.danger .fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.debugging-assistant-container,.external-sources-container,.logs-container,.pipelines-container,.web-services-container{min-height:100vh;padding:2rem}.debugging-header,.external-sources-header,.logs-header,.pipelines-header,.web-services-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-title{align-items:center;display:flex;gap:.75rem}.header-title h2{color:#fff;font-size:1.8rem;font-weight:700;margin:0}.log-controls,.pipeline-stats,.services-stats{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.stat-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;min-width:80px;padding:.75rem 1rem}.stat-value{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#94a3b8;font-size:.75rem;letter-spacing:.5px;text-align:center;text-transform:uppercase}.modern-loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.modern-loading{color:#94a3b8;text-align:center}.loading-dots{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.dot{animation:loading-pulse 1.4s ease-in-out infinite;background:#3b82f6;border-radius:50%;height:12px;width:12px}.dot:nth-child(2){animation-delay:.16s}.dot:nth-child(3){animation-delay:.32s}@keyframes loading-pulse{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.loading-progress{background:#ffffff1a;border-radius:2px;height:4px;margin:1rem auto 0;overflow:hidden;width:200px}.progress-bar{animation:loading-progress 2s infinite;background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%}@keyframes loading-progress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.error-container{align-items:center;color:#94a3b8;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.error-icon{color:#ef4444;font-size:3rem;margin-bottom:1rem}.error-container h3{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.live-indicator,.streaming-indicator{align-items:center;display:flex;gap:.5rem}.live-dot,.streaming-dot{background:#6b7280;border-radius:50%;height:8px;width:8px}.live-dot.live,.streaming-dot.active{background:#10b981;border:1px solid #10b98199}.live-text,.streaming-text{color:#94a3b8;font-size:.85rem;font-weight:500}.streaming-toggle-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease}.streaming-toggle-btn:hover{background:#ffffff1a;color:#fff}.streaming-toggle-btn.active{background:#10b98133;border-color:#10b981;color:#10b981}.debug-content,.knowledge-base{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.debug-item,.knowledge-item{border-bottom:1px solid #ffffff1a;padding:1rem;transition:background-color .2s ease}.debug-item:hover,.knowledge-item:hover{background:#ffffff08}.debug-item:last-child,.knowledge-item:last-child{border-bottom:none}.chart-container{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;color:#94a3b8;display:flex;font-style:italic;height:300px;justify-content:center}@media (max-width:768px){.log-controls,.pipeline-stats,.services-stats{align-items:stretch;flex-direction:column}.stat-item{flex-direction:row;justify-content:space-between;min-width:auto}.pipeline-widgets,.status-cards{grid-template-columns:1fr}}.breadcrumb{background:#111827cc;border-bottom:1px solid #374151;color:#9ca3af;font-size:.875rem;margin:0 0 1.5rem;padding:.75rem 1.5rem}.breadcrumb,.breadcrumb-item{align-items:center;display:flex}.breadcrumb-item{gap:.5rem}.breadcrumb-item.active{color:#fff;font-weight:500}.breadcrumb-separator{color:#6b7280;font-size:.75rem;margin:0 .75rem}.sidebar-nav a.nav-item{align-items:center;background:none;border:none;color:#cbd5e1;cursor:pointer;display:flex;padding:1rem 1.5rem;text-decoration:none;transition:all .2s ease;width:100%}.sidebar-nav a.nav-item:hover{background:#ffffff0d;color:#fff}.sidebar-nav a.nav-item.active{background:linear-gradient(90deg,#10b98126,#10b9810d);border-left:3px solid #10b981;color:#10b981;padding-left:calc(1.5rem - 3px)}.login-container{align-items:center;display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100%}.login-background{background-image:url(/static/media/Protect_accelerator-scaled.bc25cd3023027f1651a6.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;filter:brightness(.5) blur(1px);z-index:0}.login-background,.login-background:after{height:100%;left:0;position:absolute;top:0;width:100%}.login-background:after{background:linear-gradient(135deg,#00000080,#00142899);content:""}.login-content{max-width:480px;padding:2rem;position:relative;width:100%;z-index:1}.login-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1af2;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:480px;padding:2rem 3rem}.login-header{margin-bottom:1.5rem;text-align:center}.login-logo{height:120px;margin-bottom:.25rem;width:120px}.login-header h1{color:#fff;font-size:2rem;font-weight:700;letter-spacing:.5px;margin-bottom:.25rem}.login-motto{color:#3b82f6;font-size:.95rem;font-weight:500;margin-bottom:.25rem}.login-subtitle{color:#94a3b8;font-size:.8rem;line-height:1.4}.login-form{gap:1.25rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{align-items:center;color:#cbd5e1;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.form-group label svg{color:#3b82f6}.form-group input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-family:IBM Plex Sans,sans-serif;font-size:1rem;padding:.875rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus{background:#ffffff14;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.form-group input::placeholder{color:#64748b}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:3rem}.toggle-password{background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem;position:absolute;right:1rem;transition:color .2s ease}.toggle-password:hover{color:#10b981}.login-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;font-size:.9rem;padding:.875rem 1rem;text-align:center}.login-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:all .3s ease;width:100%}.login-button:hover{box-shadow:0 8px 20px #3b82f64d;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-hint{border-top:1px solid #ffffff1a;color:#64748b;font-size:.85rem;padding-top:1rem;text-align:center}.login-hint strong{color:#10b981;font-weight:600}.login-footer{color:#64748b;font-size:.85rem;margin-top:2rem;text-align:center}.user-header{align-items:center;display:flex;gap:1rem;justify-content:flex-end;margin-bottom:1rem;padding:0 2rem}.user-greeting{color:#94a3b8}.logout-btn,.user-greeting{font-size:.875rem;font-weight:500}.logout-btn{background:#0000;border:1px solid #3b82f6;border-radius:6px;color:#3b82f6;cursor:pointer;padding:.5rem 1rem;transition:all .2s ease}.logout-btn:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}@media (max-width:1024px){.login-content{max-width:420px;padding:1.5rem}.login-box{padding:1.5rem 2rem}.login-logo{height:100px;width:100px}.login-header h1{font-size:1.75rem}.login-header{margin-bottom:1.25rem}}@media (max-width:768px){.login-content{max-width:380px;padding:1rem}.login-box{padding:1.25rem 1.5rem}.login-logo{height:90px;width:90px}.login-header h1{font-size:1.75rem}.login-motto{font-size:1rem}.login-subtitle{font-size:.85rem}}@media (max-width:1440px){.monitoring-table{display:block;overflow-x:auto;white-space:nowrap}.monitoring-table tbody,.monitoring-table td,.monitoring-table th,.monitoring-table thead,.monitoring-table tr{display:table-cell}.connections-table{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1024px){.monitoring-table td,.monitoring-table th{font-size:.85rem;padding:.5rem}}.ai-assistant-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.2rem;height:40px;justify-content:center;margin-left:1rem;transition:all .3s ease;width:40px}.ai-assistant-btn:hover{box-shadow:0 6px 20px #3b82f680;transform:translateY(-2px)}.pulse-animation{animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 4px 12px #3b82f64d}50%{box-shadow:0 4px 20px #3b82f699,0 0 0 8px #3b82f633}}.ai-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-modal-content{animation:slideUp .3s ease;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:700px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-modal-header{align-items:center;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;padding:1.5rem}.ai-modal-header h3{color:#fff;font-size:1.25rem;margin:0}.ai-modal-close{background:#0000;border:none;color:#94a3b8;cursor:pointer;font-size:1.5rem;transition:color .2s}.ai-modal-close:hover{color:#fff}.ai-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-text-content{color:#cbd5e1;line-height:1.8}.ai-text-content p{margin:.75rem 0}.ai-text-content p:first-child{color:#3b82f6;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.ai-text-content strong{color:#fff;font-weight:600}.ai-cursor{animation:blink .8s infinite;color:#3b82f6}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-text-content p:contains("✅"){color:#10b981}.ai-text-content p:contains("⚠️"){color:#f59e0b}.ai-text-content p:contains("**CRITICAL**"){color:#ef4444;font-weight:600}@keyframes slideInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}
/*# sourceMappingURL=main.2f44981a.css.map*/