*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,.app{display:flex;flex-direction:column;min-height:100vh}.app-navigation{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffffa;border-bottom:1px solid #00000014;box-shadow:0 1px 10px #0000000d;padding:0 2rem}.nav-tabs{display:flex;gap:.5rem;justify-content:center;margin:0 auto;max-width:1800px}.nav-tab{background:none;border:none;border-bottom:3px solid #0000;color:#86868b;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:600;padding:1rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-tab:hover{background:#007aff0d;color:#1d1d1f}.nav-tab.active{border-bottom-color:#007aff;color:#007aff}.app-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #0000001a;box-shadow:0 2px 20px #0000001a;padding:1rem 2rem}.app-header h1{color:#1d1d1f;font-size:2rem;font-weight:600;margin-bottom:1rem;text-align:center}.controls{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.control-group,.control-group label{align-items:center;display:flex;gap:.5rem}.control-group label{color:#1d1d1f;font-size:.9rem;font-weight:500}.control-group input[type=checkbox]{accent-color:#007aff;height:18px;width:18px}.control-group input[type=number]{background:#fff;border:1px solid #d2d2d7;border-radius:8px;font-size:.9rem;padding:.5rem;width:80px}.control-group input[type=number]:disabled{background:#f5f5f7;color:#86868b}.view-toggle-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;-webkit-user-select:none;user-select:none}.view-mode-text{color:#1d1d1f;font-size:.9rem;font-weight:500;transition:color .3s ease}.toggle-switch{height:24px;position:relative;width:44px}.toggle-input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:#e9ecef;border:2px solid #d2d2d7;border-radius:30px;bottom:0;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:all .3s ease}.toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 6px #00000026;content:"";height:16px;left:2px;top:2px;width:16px}.toggle-input:checked+.toggle-slider{background:#007aff;border-color:#007aff}.toggle-input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-input:focus+.toggle-slider{box-shadow:0 0 0 3px #007aff33}.view-toggle-label:has(.toggle-input:not(:checked)) .view-mode-text:first-child{color:#007aff;font-weight:600}.view-toggle-label:has(.toggle-input:checked) .view-mode-text:last-child{color:#007aff;font-weight:600}.last-update{align-items:center;color:#86868b;display:flex;font-size:.9rem;min-height:20px;min-width:200px}.loading-status{color:#007aff;gap:.5rem}.loading-spinner{border:2px solid #e3e3e3;border-top-color:#007aff;height:12px;width:12px}.error-status{color:#ff3b30;font-weight:600}.app-main{flex:1 1;margin:0 auto;max-width:1800px;padding:2rem;width:100%}.no-devices{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;color:#86868b;margin-bottom:2rem;text-align:center}.devices-container,.no-devices{background:#ffffffe6;padding:2rem}.devices-container{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 8px 32px #0000001a}.devices-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.devices-header h2{font-size:1.3rem;margin:0}.reset-filters-button{background:#007aff;border:none;border-radius:8px;box-shadow:0 2px 8px #007aff33;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.reset-filters-button:hover{background:#0051d5;box-shadow:0 4px 12px #007aff4d;transform:translateY(-1px)}.reset-filters-button:active{background:#004fc4;transform:translateY(0)}.anomaly-popup,.location-popup,.malfunction-popup,.status-popup,.trade-popup{max-height:250px;min-width:180px;padding:.75rem}.popup-header{font-size:.85rem}.popup-anomaly-text,.popup-location-text,.popup-malfunction-text,.popup-status-text,.popup-trade-text{font-size:.8rem;padding:.25rem .5rem}.devices-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.device-card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem;transition:all .3s ease}.device-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.device-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.device-name{color:#1d1d1f;flex:1 1;font-size:1.2rem;font-weight:600;margin:0}.device-status-group{align-items:flex-end;display:flex;flex-direction:column;gap:.4rem}.status-row{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.status-label{color:#1d1d1f;font-weight:700}.device-status,.status-value{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-ok{background:#34c759;color:#fff}.status-critical{background:#ff3b30;color:#fff}.status-warning{background:#ff9500;color:#fff}.status-info{background:#007aff;color:#fff}.status-blackout{background:#000;color:#fff}.status-issues{background:#ff3b30;color:#fff}.device-details{margin-bottom:1rem}.device-details p{color:#424245;font-size:.9rem;margin:.5rem 0}.device-details strong{color:#1d1d1f}.anomalies,.malfunctions{border-top:1px solid #e5e5e7;padding-top:1rem}.anomalies{margin-top:1rem}.anomalies h4,.malfunctions h4{color:#ff3b30;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.anomalies ul,.malfunctions ul{list-style:none;margin:0;padding:0}.anomalies li,.malfunctions li{border-radius:8px;font-size:.85rem;line-height:1.4;margin-bottom:.5rem;padding:.75rem}.malfunction-critical{background:#fff5f5;border:1px solid #ffebeb;color:#d70015}.malfunction-warning{background:#fffbf0;border:1px solid #ffe6a6;color:#b8860b}.malfunction-info{background:#f0f9ff;border:1px solid #a6d8ff;color:#06c}.malfunction-content{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.malfunction-alert{flex:1 1}.malfunction-level{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.2rem .5rem;text-transform:uppercase}.level-critical{background:#ff3b30;color:#fff}.level-warning{background:#ff9500;color:#fff}.level-info{background:#007aff;color:#fff}.devices-table-container{border-radius:12px;box-shadow:0 2px 10px #0000000d;min-height:400px;overflow-x:auto}.devices-table{background:#fff;border-collapse:collapse;width:100%}.devices-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#1d1d1f;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.anomaly-column-header,.jobs-description-column-header,.jobs-location-column-header,.jobs-quality-column-header,.jobs-site-column-header,.jobs-status-column-header,.location-column-header,.malfunction-column-header,.status-column-header,.trade-column-header{position:relative}.anomaly-header-text,.jobs-description-header-text,.jobs-location-header-text,.jobs-quality-header-text,.jobs-site-header-text,.jobs-status-header-text,.location-header-text,.malfunction-header-text,.status-header-text,.trade-header-text{cursor:pointer;transition:color .2s ease;-webkit-user-select:none;user-select:none}.anomaly-header-text:hover,.jobs-description-header-text:hover,.jobs-location-header-text:hover,.jobs-quality-header-text:hover,.jobs-site-header-text:hover,.jobs-status-header-text:hover,.location-header-text:hover,.malfunction-header-text:hover,.status-header-text:hover,.trade-header-text:hover{color:#007aff}.anomaly-popup,.jobs-description-popup,.jobs-location-popup,.jobs-quality-popup,.jobs-site-popup,.jobs-status-popup,.location-popup,.malfunction-popup,.status-popup,.trade-popup{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 8px 32px #00000026;left:0;margin-top:.5rem;max-height:300px;min-width:200px;overflow-y:auto;padding:1rem;position:absolute;top:100%;z-index:20}.anomaly-popup-content,.jobs-description-popup-content,.jobs-location-popup-content,.jobs-quality-popup-content,.jobs-site-popup-content,.jobs-status-popup-content,.location-popup-content,.malfunction-popup-content,.status-popup-content,.trade-popup-content{display:flex;flex-direction:column;gap:.75rem}.popup-header{border-bottom:1px solid #f1f3f4;color:#1d1d1f;font-size:.9rem;font-weight:600;letter-spacing:normal;margin-bottom:.5rem;padding-bottom:.5rem;text-transform:none}.popup-anomaly-filter,.popup-jobs-description-filter,.popup-jobs-location-filter,.popup-jobs-quality-filter,.popup-jobs-site-filter,.popup-jobs-status-filter,.popup-location-filter,.popup-malfunction-filter,.popup-status-filter,.popup-trade-filter{align-items:center;cursor:pointer;display:flex;gap:.5rem;padding:.25rem 0;-webkit-user-select:none;user-select:none}.popup-all-filter{border-bottom:1px solid #f1f3f4;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem!important}.popup-all-text{background:#86868b1a!important;border:1px solid #0000!important;color:#1d1d1f!important;font-weight:700!important}.popup-anomaly-filter input[type=checkbox],.popup-jobs-description-filter input[type=checkbox],.popup-jobs-location-filter input[type=checkbox],.popup-jobs-quality-filter input[type=checkbox],.popup-jobs-site-filter input[type=checkbox],.popup-jobs-status-filter input[type=checkbox],.popup-location-filter input[type=checkbox],.popup-malfunction-filter input[type=checkbox],.popup-status-filter input[type=checkbox],.popup-trade-filter input[type=checkbox]{accent-color:#007aff;height:16px;width:16px}.popup-anomaly-text,.popup-jobs-description-text,.popup-jobs-location-text,.popup-jobs-quality-text,.popup-jobs-site-text,.popup-jobs-status-text,.popup-location-text,.popup-malfunction-text,.popup-status-text,.popup-trade-text{border-radius:8px;font-size:.85rem;font-weight:500;letter-spacing:normal;padding:.3rem .6rem;text-transform:none;transition:all .2s ease;word-break:break-word}.popup-jobs-description-text,.popup-jobs-location-text,.popup-jobs-quality-text,.popup-jobs-site-text,.popup-jobs-status-text{background:#86868b1a;color:#1d1d1f}.popup-status-text.ok{background:#34c75926;color:#34c759}.popup-status-text.critical{background:#ff3b3026;color:#ff3b30}.popup-status-text.warning{background:#ff950026;color:#ff9500}.popup-anomaly-filter:has(input:not(:checked)) .popup-anomaly-text,.popup-location-filter:has(input:not(:checked)) .popup-location-text,.popup-malfunction-filter:has(input:not(:checked)) .popup-malfunction-text,.popup-status-filter:has(input:not(:checked)) .popup-status-text,.popup-trade-filter:has(input:not(:checked)) .popup-trade-text{background:#86868b1a!important;border:1px solid #0000!important;color:#86868b!important;opacity:.4}.popup-jobs-description-filter:has(input:not(:checked)) .popup-jobs-description-text,.popup-jobs-location-filter:has(input:not(:checked)) .popup-jobs-location-text,.popup-jobs-quality-filter:has(input:not(:checked)) .popup-jobs-quality-text,.popup-jobs-site-filter:has(input:not(:checked)) .popup-jobs-site-text,.popup-jobs-status-filter:has(input:not(:checked)) .popup-jobs-status-text{background:#86868b1a!important;border:1px solid #0000!important;color:#86868b!important;opacity:.4}.popup-anomaly-text,.popup-location-text{background:#86868b1a;color:#1d1d1f}.popup-anomaly-text.malfunction-critical,.popup-malfunction-text.malfunction-critical{background:#fff5f5;border:1px solid #ffebeb;color:#d70015}.popup-anomaly-text.malfunction-warning,.popup-malfunction-text.malfunction-warning{background:#fffbf0;border:1px solid #ffe6a6;color:#b8860b}.popup-anomaly-text.malfunction-info,.popup-malfunction-text.malfunction-info{background:#f0f9ff;border:1px solid #a6d8ff;color:#06c}.popup-trade-text.status-ok{background:#34c75926;border:1px solid #34c7594d;color:#34c759}.popup-trade-text.status-warning{background:#ff950026;border:1px solid #ff95004d;color:#ff9500}.popup-trade-text.status-critical{background:#ff3b3026;border:1px solid #ff3b304d;color:#ff3b30}.popup-trade-text.status-blackout{background:#00000026;border:1px solid #0000004d;color:#000}.devices-table td{border-bottom:1px solid #f1f3f4;font-size:.9rem;padding:1rem;vertical-align:top}.devices-table tr:hover{background:#f8f9fa}.device-name-cell{color:#1d1d1f;font-weight:600}.device-status-table{border-radius:16px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.malfunctions-cell{max-width:300px}.malfunctions-list{display:flex;flex-direction:column;gap:.25rem}.malfunction-item{border-radius:6px;font-size:.85rem;line-height:1.3;padding:.4rem .6rem}.no-malfunctions{color:#34c759;font-size:.9rem;font-weight:500}.no-devices-row{background:#f8f9fa;color:#86868b;font-style:italic;padding:2rem 1rem!important;text-align:center}.anomalies li:last-child,.malfunctions li:last-child{margin-bottom:0}.in-development-container{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffe6;border-radius:20px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:3rem}.in-development-icon{animation:pulse 2s ease-in-out infinite;font-size:5rem;margin-bottom:1rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.in-development-title{color:#1d1d1f;font-size:2rem;font-weight:600;margin-bottom:.5rem}.in-development-text{color:#86868b;font-size:1.1rem;text-align:center}.jobs-container{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffe6;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:2rem}.jobs-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.jobs-header h2{font-size:1.3rem;margin:0}.jobs-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:1.5rem;min-height:400px;overflow-x:auto}.jobs-table{background:#fff;border-collapse:collapse;min-height:400px;width:100%}.jobs-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#1d1d1f;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.jobs-table td{border-bottom:1px solid #f1f3f4;font-size:.9rem;padding:1rem;vertical-align:top}.jobs-table tr:hover{background:#f8f9fa}.job-date-cell{color:#424245;white-space:nowrap}.job-name-cell{color:#1d1d1f;font-weight:600}.job-description-cell{color:#424245;max-width:400px}.job-status{border-radius:16px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.job-status-pending{background:#ff950026;color:#ff9500}.job-status-in-progress,.job-status-in_progress{background:#007aff26;color:#007aff}.job-status-completed{background:#34c75926;color:#34c759}.job-status-failed{background:#ff3b3026;color:#ff3b30}.job-status-cancelled{background:#86868b26;color:#86868b}.job-quality{border-radius:16px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.job-quality-good{background:#34c75926;color:#34c759}.job-quality-excellent{background:#34c75933;color:#28a745}.job-quality-acceptable{background:#ffcc0026;color:#ff9500}.job-quality-bad{background:#ff3b3026;color:#ff3b30}.job-quality-poor{background:#ff3b3033;color:#d70015}.job-quality-empty,.no-jobs-row{color:#86868b;font-style:italic}.no-jobs-row{background:#f8f9fa;padding:2rem 1rem!important;text-align:center}.loading-container{color:#007aff;flex-direction:column;font-size:1.1rem;gap:1rem;padding:3rem}.error-container,.loading-container{align-items:center;display:flex;justify-content:center}.error-container{padding:2rem}.pagination{align-items:center;display:flex;gap:.5rem;justify-content:center;padding:1rem 0}.pagination-button{background:#fff;border:1px solid #d2d2d7;border-radius:8px;color:#1d1d1f;cursor:pointer;font-size:.9rem;font-weight:600;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#007aff;border-color:#007aff;color:#fff}.pagination-button:disabled{cursor:not-allowed;opacity:.4}.pagination-info{color:#1d1d1f;font-size:.9rem;font-weight:500;padding:.5rem 1rem}@media (max-width:768px){.app-navigation{padding:0 1rem}.nav-tab{font-size:.85rem;padding:.75rem 1rem}.in-development-icon{font-size:3.5rem}.in-development-title{font-size:1.5rem}.in-development-text{font-size:.95rem}.in-development-container{padding:2rem 1rem}.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.controls{flex-direction:column;gap:1rem}.app-main,.devices-container{padding:1rem}.devices-grid{grid-template-columns:1fr}.device-card{padding:1rem}.control-group label{font-size:.85rem}.view-toggle-label{font-size:.85rem;gap:.4rem}.last-update,.view-mode-text{font-size:.85rem}.toggle-switch{height:20px;width:40px}.toggle-slider:before{height:14px;left:1px;top:1px;width:14px}.toggle-input:checked+.toggle-slider:before{transform:translateX(20px)}.devices-table th{font-size:.9rem;padding:.75rem .5rem}.devices-table td{font-size:.85rem;padding:.75rem .5rem}.device-status-table{font-size:.75rem}.malfunction-item{font-size:.8rem}.no-malfunctions{font-size:.85rem}.malfunctions-cell{max-width:200px}.devices-header{align-items:stretch;flex-direction:column;gap:1rem}.devices-header h2{text-align:center}.reset-filters-button{padding:.6rem 1rem;width:100%}.jobs-container{padding:1rem}.jobs-header{align-items:stretch;flex-direction:column;gap:1rem}.jobs-header h2{text-align:center}.jobs-table td,.jobs-table th{font-size:.85rem;padding:.75rem .5rem}.job-description-cell{max-width:200px}.job-quality,.job-status{font-size:.75rem}.pagination-button{min-width:35px}.pagination-button,.pagination-info{font-size:.85rem;padding:.4rem .6rem}}.dashboard{background:#f5f7fa;min-height:100vh;padding:20px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px;padding:0 8px}.dashboard-title{color:#2c3e50;font-size:32px;font-weight:700;margin:0}.dashboard-update-info{color:#7f8c8d;font-size:14px}.dashboard-content{display:flex;flex-direction:column;gap:24px}.dashboard-row{grid-gap:24px;display:grid;gap:24px}.dashboard-row-main{grid-template-columns:repeat(4,1fr)}.dashboard-row-ineffective{grid-template-columns:repeat(3,1fr)}.dashboard-row-details{grid-template-columns:1fr 1fr}.loading-status{align-items:center;color:#3498db;display:flex;gap:8px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;display:inline-block;height:14px;width:14px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-status{color:#e74c3c}.last-update{color:#27ae60;font-weight:500}@media (max-width:1400px){.dashboard-row-main{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.dashboard-row-details,.dashboard-row-ineffective,.dashboard-row-main{grid-template-columns:1fr}.dashboard-title{font-size:24px}}@media (max-width:768px){.dashboard{padding:12px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px}.dashboard-title{font-size:22px}.dashboard-content,.dashboard-row{gap:16px}}@media (max-width:480px){.dashboard{padding:8px}.dashboard-title{font-size:20px}.dashboard-update-info{font-size:12px}}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:box-shadow .3s ease}.dashboard-card:hover{box-shadow:0 4px 16px #00000026}.dashboard-card-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.dashboard-card-icon{font-size:24px}.dashboard-card-title{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.dashboard-card-content{display:flex;flex-direction:column;gap:12px}@media (max-width:768px){.dashboard-card{padding:16px}.dashboard-card-title{font-size:16px}.dashboard-card-icon{font-size:20px}}.donut-chart-container{align-items:center;display:flex;flex-direction:column;gap:16px}.donut-chart{display:block}.donut-segment{cursor:pointer;transition:opacity .3s ease}.donut-segment:hover{opacity:.8}.donut-chart-total{fill:#2c3e50;font-size:28px;font-weight:700}.donut-chart-empty{color:#95a5a6;font-size:14px;padding:40px;text-align:center}.donut-chart-legend{display:flex;flex-direction:column;gap:8px;width:100%}.donut-legend-item{align-items:center;display:flex;font-size:15px;gap:8px}.donut-legend-color{border-radius:2px;flex-shrink:0;height:12px;width:12px}.donut-legend-label{color:#7f8c8d;flex-shrink:0}.donut-legend-value{color:#2c3e50;font-weight:600;margin-left:auto}@media (max-width:768px){.donut-chart-total{font-size:24px}.donut-legend-item{font-size:13px}}.progress-bar-container{display:flex;flex-direction:column;gap:8px}.progress-bar-label{color:#7f8c8d;font-size:15px;font-weight:500}.progress-bar-wrapper{align-items:center;display:flex;gap:12px}.progress-bar-track{background:#ecf0f1;border-radius:10px;flex:1 1;height:20px;overflow:hidden;position:relative}.progress-bar-fill{background:linear-gradient(90deg,currentColor,currentColor);border-radius:10px;height:100%;position:relative;transition:width .5s ease}.progress-bar-percentage{color:#2c3e50;font-size:15px;font-weight:600;min-width:50px;text-align:right}.progress-bar-values{color:#95a5a6;font-size:15px;text-align:right}@media (max-width:768px){.progress-bar-track{height:16px}.progress-bar-percentage{font-size:13px;min-width:45px}.progress-bar-values{font-size:12px}}.jobs-stats{display:flex;flex-direction:column;gap:16px}.jobs-stat-item{align-items:center;display:flex;justify-content:space-between}.jobs-stat-label{color:#7f8c8d;font-size:15px}.jobs-stat-value{color:#2c3e50;font-size:20px;font-weight:700}@media (max-width:768px){.jobs-stat-value{font-size:18px}}.trend-indicator{align-items:center;display:inline-flex;font-size:18px;font-weight:600;margin-left:8px}.trend-indicator.up{color:#27ae60}.trend-indicator.down{color:#e74c3c}.trend-indicator.stable{color:#95a5a6}@media (max-width:768px){.trend-indicator{font-size:16px}}.sla-stats{display:flex;flex-direction:column;gap:16px}.sla-item{align-items:center;display:flex;justify-content:space-between}.sla-label{color:#7f8c8d;font-size:15px}.sla-value{align-items:center;display:flex;font-size:20px;font-weight:700}.sla-value.sla-excellent{color:#27ae60}.sla-value.sla-good{color:#2ecc71}.sla-value.sla-fair{color:#f39c12}.sla-value.sla-poor{color:#e74c3c}@media (max-width:768px){.sla-value{font-size:18px}}.ineffective-jobs-stats{display:flex;flex-direction:column;gap:12px}.ineffective-stat-row{align-items:center;display:flex;justify-content:space-between}.ineffective-label{color:#7f8c8d;font-size:15px}.ineffective-value{color:#2c3e50;font-size:18px;font-weight:600}.ineffective-percentage{color:#7f8c8d;font-size:15px;font-weight:600;margin-top:4px;text-align:center}@media (max-width:768px){.ineffective-value{font-size:16px}.ineffective-percentage{font-size:13px}}.locations-table-container{overflow-x:auto;width:100%}.locations-table{border-collapse:collapse;width:100%}.locations-table thead{background:#f8f9fa}.locations-table th{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:15px;font-weight:600;padding:12px;text-align:left}.locations-table td{border-bottom:1px solid #ecf0f1;font-size:15px;padding:12px}.location-name{color:#7f8c8d;font-size:15px;font-weight:500}.location-count{text-align:center}.count-badge{background:#e74c3c;border-radius:12px;color:#fff;display:inline-block;font-size:15px;font-weight:700;padding:6px 14px}.location-types{color:#e74c3c;font-size:15px;font-weight:500;line-height:1.5}@media (max-width:768px){.locations-table td,.locations-table th{font-size:13px;padding:8px}.location-name{font-size:12px}.count-badge{padding:4px 10px}.count-badge,.location-types{font-size:13px}}.critical-issues-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.issue-item{background:#f8f9fa;border-left:4px solid;border-radius:8px;padding:12px;transition:background .2s ease,box-shadow .2s ease}.issue-item:hover{background:#fff;box-shadow:0 4px 12px #00000026}.issue-item.issue-critical{border-left-color:#e74c3c}.issue-item.issue-warning{border-left-color:#f39c12}.issue-time{color:#2c3e50;font-weight:700;letter-spacing:.5px}.issue-device,.issue-time{font-size:15px;margin-bottom:6px}.issue-device{color:#7f8c8d;font-weight:500}.issue-description{color:#e74c3c;font-size:15px;font-weight:500;line-height:1.4}.no-data{color:#95a5a6;font-size:14px;padding:40px;text-align:center}.critical-issues-list::-webkit-scrollbar{width:6px}.critical-issues-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.critical-issues-list::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.critical-issues-list::-webkit-scrollbar-thumb:hover{background:#95a5a6}@media (max-width:768px){.issue-item{padding:10px}.issue-time{font-size:13px}.issue-description,.issue-device{font-size:12px}}
/*# sourceMappingURL=main.87bde0b1.css.map*/