body,html{overflow:hidden;height:100%;margin:0!important}header h1{font-size:1.5em;margin:5px 0 10px}.dashboard-container{padding:10px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f4f4f4;height:calc(100vh - 20px);overflow:hidden}.dashboard-container .dashboard-grid{display:grid;gap:10px;grid-template-columns:200px 250px 210px 1fr;height:calc(100vh - 80px);overflow:hidden}.dashboard-container .dashboard-grid.maximized-view{grid-template-columns:1fr;width:100%;max-width:100vw}.dashboard-container .dashboard-grid.maximized-view .results-panel{grid-column:1 / -1;height:95vh;width:100%}.dashboard-container .dashboard-grid.maximized-view .results-panel .table-responsive{height:calc(95vh - 120px)}.dashboard-container .dashboard-grid .col-panel{border:1px solid #ccc;background-color:#fff;padding:10px;border-radius:4px;box-sizing:border-box;overflow-y:auto;height:calc(100vh - 80px)}.dashboard-container .dashboard-grid .col-panel.results-panel{position:relative}.dashboard-container .dashboard-grid .col-panel.results-panel .maximize-btn{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer;padding:0}.dashboard-container .dashboard-grid .col-panel.results-panel .maximize-btn .icon-btn{width:20px;height:20px;fill:var(--text-color, #777);transition:fill .2s}.dashboard-container .dashboard-grid .col-panel.results-panel .maximize-btn .icon-btn:hover{fill:var(--primary-color, #3498db)}.dashboard-container .dashboard-grid .col-panel .panel-title{margin-top:0;margin-bottom:3px;padding-bottom:5px;border-bottom:1px solid #eee;font-size:1.1em;font-weight:600}.dashboard-container .dashboard-grid .col-panel .hint-message{padding:20px;text-align:center;color:#6c757d;font-style:italic}.dashboard-container .dashboard-grid .col-panel .worker-control-panel{padding:10px;border-radius:4px;margin-top:10px;border:1px solid #ddd;color:#333;background-color:#f1f1f1}.dashboard-container .dashboard-grid .col-panel .worker-control-panel.running{background-color:#c4f1ce;border-color:#28a745}.dashboard-container .dashboard-grid .col-panel .worker-control-panel.stopped{background-color:#fef9f9;border-color:#dc3545}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-status-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8em}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-grid{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-grid .worker-dot{width:24px;height:24px;border-radius:50%;background:#ddd;color:#333;display:flex;align-items:center;justify-content:center;font-size:.75em;font-weight:700;cursor:help;border:2px solid transparent}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-grid .worker-dot.running{background:#fff;border-color:#28a745;color:#28a745}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-grid .worker-dot.idle{background:#ffffff80}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons{display:flex;gap:5px}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons button{font-size:.8em;padding:5px;margin-bottom:0;cursor:pointer;border-radius:4px;border:none;background:#ddd}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons button:hover{background:#ccc}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons button.primary{background:#28a745;color:#fff}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons button.primary:hover{background:#1e7e34}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons button.danger{background:#dc3545;color:#fff}.dashboard-container .dashboard-grid .col-panel .worker-control-panel .worker-buttons button.danger:hover{background:#bd2130}.dashboard-container .dashboard-grid .switch-container{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:8px 0;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.dashboard-container .dashboard-grid .switch-container .switch-label{font-size:.95em}.dashboard-container .dashboard-grid .switch-container input{opacity:0;width:0;height:0}.dashboard-container .dashboard-grid .switch-container input:checked+.slider{background-color:#28a745}.dashboard-container .dashboard-grid .switch-container input:checked+.slider:before{transform:translate(18px)}.dashboard-container .dashboard-grid .switch-container .slider{position:relative;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;width:45px;height:25px}.dashboard-container .dashboard-grid .switch-container .slider.round{border-radius:25px}.dashboard-container .dashboard-grid .switch-container .slider:before{position:absolute;content:"";height:19px;width:19px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.dashboard-container .dashboard-grid .switch-container.mini{margin:0;padding:0;border:none;background:transparent;min-height:auto;width:auto}.dashboard-container .dashboard-grid .switch-container.mini .slider.mini-slider{width:30px;height:16px}.dashboard-container .dashboard-grid .switch-container.mini .slider.mini-slider:before{height:12px;width:12px;left:2px;bottom:2px}.dashboard-container .dashboard-grid .switch-container.mini input:checked+.slider.mini-slider{background-color:#28a745}.dashboard-container .dashboard-grid .switch-container.mini input:checked+.slider.mini-slider:before{transform:translate(14px)}.dashboard-container .dashboard-grid .language-panel{display:flex;flex-direction:column}.dashboard-container .dashboard-grid .language-panel .list-group{flex:1;overflow-y:auto;padding:0}.dashboard-container .dashboard-grid .language-panel .list-group .list-item{margin-bottom:0;cursor:pointer;font-size:.9em;display:flex;justify-content:space-between;align-items:center;padding:2px 5px}.dashboard-container .dashboard-grid .language-panel .list-group .list-item:hover{background-color:#e9e9e9}.dashboard-container .dashboard-grid .language-panel .list-group .list-item.selected{font-weight:700;color:#007bff;background-color:#e9e9e9}.dashboard-container .dashboard-grid .language-panel .list-group .list-item .lang-info{display:flex;align-items:center;flex-grow:1}.dashboard-container .dashboard-grid .language-panel .list-group .list-item .lang-info .country-flag{margin-right:5px;font-size:1.2em}.dashboard-container .dashboard-grid .language-panel .list-group .list-item .mini-toggle-wrapper{flex-shrink:0}.dashboard-container .dashboard-grid .language-panel .worker-control-panel{margin-top:auto;flex-shrink:0}.dashboard-container .dashboard-grid .sources-panel .list-group{list-style:none;padding:0;margin:0}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item{padding:5px 8px;margin-bottom:2px;cursor:pointer;border-radius:3px;transition:background-color .2s;font-size:.9em;display:flex;justify-content:space-between}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item:hover{background-color:#e9e9e9}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item.selected{background-color:#007bff;color:#fff;font-weight:700}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item .source-info .source-indicators .indicator-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;border:1px solid #333}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item .source-info .source-indicators .indicator-dot.active-indicator{background-color:#28a745}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item .source-info .source-indicators .indicator-dot.inactive-indicator{background-color:#dc3545}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item .source-info .source-indicators .indicator-dot.fetch-indicator{background-color:#ffc107}.dashboard-container .dashboard-grid .sources-panel .list-group .list-item .source-info .source-indicators .indicator-dot.nofetch-indicator{background-color:#dc3545}.dashboard-container .dashboard-grid .options-panel .action-group .selected-info{margin-bottom:10px;padding:5px;background-color:#f8f8ff;border:1px dashed #ccc;border-radius:3px}.dashboard-container .dashboard-grid .options-panel .action-group .action-button{width:100%;margin-bottom:5px;padding:8px;font-weight:600;background-color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.dashboard-container .dashboard-grid .options-panel .action-group .action-button:hover{background-color:#ccc}.dashboard-container .dashboard-grid .options-panel .action-group .action-button.primary{background-color:#28a745;color:#fff}.dashboard-container .dashboard-grid .options-panel .action-group .action-button.primary:hover{background-color:#1e7e34}.dashboard-container .dashboard-grid .options-panel .action-group .action-button.primary.danger{background-color:#dc3545}.dashboard-container .dashboard-grid .options-panel .action-group .action-button.primary.danger:hover{background-color:#bd2130}.dashboard-container .dashboard-grid .options-panel .action-group .action-button.save{background-color:#dc3545;color:#fff}.dashboard-container .dashboard-grid .options-panel .action-group .action-button.readonly{background-color:#28a745;color:#fff}.dashboard-container .dashboard-grid .options-panel .action-group .save-error{color:#dc3545;font-weight:700;margin-top:5px;padding:5px;border:1px solid currentColor;border-radius:3px;font-size:.9em}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section{margin-bottom:25px;padding:10px}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section h4{margin-top:0;margin-bottom:10px;border-bottom:2px solid #eee;padding-bottom:5px;color:#444}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section h4.clickable-header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;transition:opacity .2s}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section h4.clickable-header:hover{opacity:.8}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section h4.clickable-header span{display:inline-flex;gap:8px}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:15px;text-align:center;box-shadow:0 2px 4px #0000000d}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card.warning-card{border:1px solid #dc3545;background:#d32f2f1a}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card.clickable-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card.clickable-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;border-color:#007bff}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card .stat-value{font-size:1.1em;font-weight:700;color:#007bff}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card .stat-value.text-danger{color:#dc3545}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .stats-grid .stat-card .stat-label{font-size:.85em;color:#6c757d;letter-spacing:.5px;margin-top:5px}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .text-danger{color:#dc3545}.dashboard-container .dashboard-grid .results-panel .result-content .dashboard-section .text-warning{color:#a07800}.dashboard-container .dashboard-grid .results-panel .result-content .report-container{display:flex;flex-direction:column;height:100%}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .report-meta{padding:8px;background:#e9ecef;border-bottom:1px solid #dee2e6;font-size:.9em}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .report-meta .meta-warning{color:orange;font-weight:700;margin-left:10px;cursor:help}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive{overflow:auto;flex:1}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table{width:100%;border-collapse:collapse;font-size:.85em}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table th,.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table td{padding:6px 8px;border-bottom:1px solid #eee;text-align:left;vertical-align:middle}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table th{background:#f8f9fa;font-weight:600;position:sticky;top:0;z-index:1}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table tr.exist td{opacity:.7}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .badge{padding:2px 5px;border-radius:3px;font-size:.8em;color:#fff;font-weight:700}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .badge.NEW{background-color:#28a745}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .badge.EXIST{background-color:#6c757d}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .actions-cell{gap:8px}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .actions-cell .icon-btn{width:20px;height:20px;cursor:pointer;fill:#6c757d;transition:fill .2s}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .actions-cell .icon-btn:hover{fill:#007bff}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .actions-cell .icon-btn.danger:hover{fill:#dc3545}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .img-preview img{height:30px;width:auto;border-radius:4px;border:1px solid #ddd}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .view-content-btn{color:#28a745;font-weight:700;cursor:pointer;display:inline-flex;align-items:center}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .view-content-btn .icon-mini{width:16px;height:16px;fill:currentColor;margin-right:4px}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .view-content-btn:hover{text-decoration:underline}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .text-success{color:#28a745;font-weight:700}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .text-muted{color:#6c757d}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .text-warning{color:#ffc107;font-weight:700}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .text-error.clickable{color:#dc3545;cursor:pointer;text-decoration:underline}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .text-error.clickable:hover{color:#bd2130}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .title-link{text-decoration:none;color:#007bff;font-weight:500;display:block;max-width:350px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .title-link:hover{text-decoration:underline}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .table-responsive .report-table .small-date{font-size:.8em;color:#666}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .pagination-controls{padding:10px;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:center;align-items:center;gap:15px}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .pagination-controls .page-info{font-weight:600;font-size:.9em;color:#6c757d}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .pagination-controls .page-btn{padding:5px 12px;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;font-size:.9em}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .pagination-controls .page-btn:hover:not(:disabled){background:#007bff;color:#fff;border-color:#007bff}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .pagination-controls .page-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-container .dashboard-grid .results-panel .result-content .report-container .log-output{margin-top:10px;padding:10px;background:#333;color:#eee;font-family:monospace;font-size:.8em;max-height:150px;overflow:auto;border-top:2px solid #555}.dashboard-container .dashboard-grid .results-panel .result-content .editing-display .settings-textarea{width:100%;height:calc(100vh - 250px);min-height:400px;font-family:monospace;font-size:.8em;padding:10px;box-sizing:border-box;border:1px solid #007bff;resize:none}.dashboard-container .dashboard-grid .results-panel .result-content .read-only-display .settings-hint{background-color:#ffc;border:1px dashed #ccc;padding:8px;margin-bottom:10px;font-size:.9em}.dashboard-container .dashboard-grid .results-panel .result-content .read-only-display .read-only-output{white-space:pre-wrap;word-wrap:break-word;font-size:.9em;padding:5px}.dashboard-container .dashboard-grid .results-panel .result-content .log-terminal{background-color:#1e1e1e;color:#0f0;font-family:Consolas,Monaco,monospace;font-size:.85em;padding:15px;border-radius:4px;height:100%;overflow-y:auto;white-space:pre-wrap;box-shadow:inset 0 0 10px #000}.floating-window{position:fixed;background:#1e1e1e;border:1px solid #444;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;z-index:1000;border-radius:6px;overflow:hidden;resize:both;overflow:auto;min-width:400px;min-height:300px}.floating-window .window-header{background:#2d2d2d;height:40px;display:flex;align-items:center;justify-content:space-between;cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid #333;padding-right:10px}.floating-window .window-header:active{cursor:grabbing}.floating-window .window-header .tab-bar{display:flex;height:100%;overflow-x:auto}.floating-window .window-header .tab-bar .tab-item{display:flex;align-items:center;padding:0 15px;background:#252525;border-right:1px solid #333;color:#888;cursor:pointer;font-size:13px;max-width:200px}.floating-window .window-header .tab-bar .tab-item.active{background:#1e1e1e;color:#fff;border-top:2px solid #3498db}.floating-window .window-header .tab-bar .tab-item .tab-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.floating-window .window-header .tab-bar .tab-item .tab-close{border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:14px}.floating-window .window-header .tab-bar .tab-item .tab-close:hover{background:#c00;color:#fff}.floating-window .window-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.floating-window .window-body .tab-content-area{flex:1;overflow:auto;padding:10px;color:#ddd}.floating-window .window-body .log-pre{font-family:Consolas,monospace;font-size:12px;white-space:pre-wrap;color:#4ec9b0}.floating-window::-webkit-resizer{background-color:#333}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-overlay .modal-content{background:#fff;padding:20px;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:900px;max-height:90vh;position:relative;display:flex;flex-direction:column}.modal-overlay .modal-content .modal-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.2em;cursor:pointer;padding:5px;line-height:1}.modal-overlay .modal-content .modal-title{margin-top:0;font-size:1.4em;font-weight:600}.modal-overlay .modal-content .modal-body{flex-grow:1;overflow-y:auto;padding-top:5px}.modal-overlay .modal-content .modal-body .article-preview{padding:20px}.modal-overlay .modal-content .modal-body .article-preview h2{margin-top:0;color:#333}.modal-overlay .modal-content .modal-body .article-preview .article-body{line-height:1.6;font-size:1.1em}.modal-overlay .modal-content .modal-body .article-preview .article-body img{max-width:100%;height:auto}.modal-overlay .modal-content .modal-body .diagnostic-table{width:100%;border-collapse:collapse;font-size:.9em}.modal-overlay .modal-content .modal-body .diagnostic-table th{background-color:#f1f1f1;padding:10px;text-align:left;border-bottom:2px solid #ddd;font-weight:600}.modal-overlay .modal-content .modal-body .diagnostic-table td{padding:8px 10px;border-bottom:1px solid #eee;vertical-align:top}.modal-overlay .modal-content .modal-body .diagnostic-table .key-cell{font-weight:600;color:#555;background-color:#fafafa}.modal-overlay .modal-content .modal-body .diagnostic-table .value-cell{word-break:break-word}.modal-overlay .modal-content .modal-body .diagnostic-table .value-cell .modal-link{color:#007bff;text-decoration:none}.modal-overlay .modal-content .modal-body .diagnostic-table .value-cell .modal-link:hover{text-decoration:underline}.modal-overlay .modal-content .modal-body .diagnostic-table .value-cell .content-preview{max-height:150px;overflow-y:auto;white-space:pre-wrap;background:#f9f9f9;padding:5px;border:1px solid #eee;border-radius:3px;font-size:.85em}.modal-overlay .modal-content .modal-body .diagnostic-table .value-cell .content-preview .content-meta{margin-top:5px;font-size:.8em;color:#888;font-weight:700}.modal-overlay .modal-content .modal-body .diagnostic-table .source-cell .source-badge{text-transform:uppercase;font-size:.75em;padding:3px 6px;border-radius:3px;color:#fff}.modal-overlay .modal-content .modal-body .diagnostic-table .source-cell .source-badge.src-source{background-color:#28a745}.modal-overlay .modal-content .modal-body .diagnostic-table .source-cell .source-badge.src-mongo{background-color:#6c757d}.modal-overlay .modal-content .modal-body .diagnostic-table .source-cell .source-badge.src-job{background-color:#17a2b8}.modal-overlay .modal-content .modal-body .diagnostic-table .source-cell .source-badge.src-script{background-color:#6f42c1}.modal-overlay .modal-content .modal-body .diagnostic-table .source-cell .source-badge.src-script_default{background-color:#dc3545}.modal-overlay .modal-content .modal-body .log-output-content{white-space:pre-wrap;word-wrap:break-word;font-family:monospace;font-size:.85em;background-color:#f7f7f7;border:1px solid #ccc;padding:10px;border-radius:4px}
