#root,body,html{height:100%;margin:0;overflow:hidden;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.dashboard-container{margin:0 auto;max-width:1400px;padding:1rem;padding:var(--size-spacing,1rem)}.stats-grid{grid-gap:1.5rem;grid-gap:calc(var(--size-spacing, 1rem)*1.5);gap:1.5rem;gap:calc(var(--size-spacing, 1rem)*1.5);grid-template-columns:repeat(4,1fr);margin-bottom:2rem;margin-bottom:calc(var(--size-spacing, 1rem)*2)}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-card{border:2px solid #0000;border:2px solid var(--color-cardBorder,#0000);border-radius:12px;border-radius:var(--size-borderRadius,12px);box-shadow:0 4px 20px #0000001a;flex-direction:column;justify-content:space-between;padding:1.5rem;padding:calc(var(--size-spacing, 1rem)*1.5);transition:all .3s}.stat-card:hover{border-color:#667eea;border-color:var(--color-primary,#667eea);box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.stat-icon{border-radius:10px;border-radius:calc(var(--size-borderRadius, 8px) + 2px);color:#fff;flex-shrink:0;height:50px;width:50px}.stat-icon,.stat-value{background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}.stat-value{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:28px;font-size:calc(var(--size-baseFontSize, 14px)*2);margin-bottom:.25rem}.stat-label{color:#666;color:var(--color-textSecondary,#666);font-size:.9rem;margin-bottom:.5rem}.stat-change{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:.25rem}.stat-change.positive{color:#10b981;color:var(--color-success,#10b981)}.stat-change.negative{color:#ef4444;color:var(--color-error,#ef4444)}.mode-card{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:2px solid #3b82f633}.mode-card:hover{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border-color:#3b82f666}.mode-header{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.mode-icon{background:#0000!important;height:60px;width:60px}.data-coverage-section{display:flex;flex:1 1;flex-direction:column;gap:8px;margin-top:16px}.data-coverage-row{align-items:center;border-radius:10px;display:flex;padding:12px 14px;transition:all .2s ease}.data-coverage-row:hover{transform:translateX(2px)}.data-coverage-row.parquet-synced{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac}.data-coverage-row.parquet-stale{background:linear-gradient(135deg,#fef9c3,#fef08a);border:1px solid #fde047}.data-coverage-row.parquet-empty{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db}.data-coverage-row.idb-synced{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd}.data-coverage-row.idb-empty{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db}.data-coverage-label{color:#374151;font-size:.85rem;font-weight:600;min-width:70px}.data-coverage-value{font-size:.95rem;font-weight:700;margin-left:auto}.data-coverage-value.synced{color:#15803d}.data-coverage-value.stale{color:#b45309}.data-coverage-value.empty{color:#6b7280}.data-coverage-value.idb{color:#1d4ed8}.data-coverage-warning{align-items:center;background:#fbbf2426;border-radius:6px;color:#b45309;display:flex;font-size:.75rem;gap:6px;justify-content:center;margin-top:4px;padding:8px 12px}.site-summaries{grid-gap:1.5rem;grid-gap:calc(var(--size-spacing, 1rem)*1.5);display:grid;gap:1.5rem;gap:calc(var(--size-spacing, 1rem)*1.5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem;margin-bottom:calc(var(--size-spacing, 1rem)*2)}.site-summary-card{background:#fff;background:var(--color-cardBackground,#fff);border:2px solid #0000;border:2px solid var(--color-cardBorder,#0000);border-radius:12px;border-radius:var(--size-borderRadius,12px);box-shadow:0 4px 20px #0000001a;overflow:hidden;padding:1.5rem;padding:calc(var(--size-spacing, 1rem)*1.5);position:relative;transition:all .3s}.site-summary-card:hover{border-color:#667eea;border-color:var(--color-primary,#667eea);box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.site-summary-card:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));content:"";height:4px;left:0;position:absolute;right:0;top:0}.site-summary-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--size-spacing,1rem)}.site-summary-title{color:#333;color:var(--color-text,#333);font-size:1rem;font-weight:700;margin-bottom:.5rem}.site-connection-badge{align-items:center;background:#3b82f61a;border-radius:20px;border-radius:calc(var(--size-borderRadius, 8px)*2.5);color:var(--color-primary);display:flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.4rem .8rem}.site-connection-badge-s3{background:#f59e0b1a;color:#d97706}.site-status-indicator{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}.site-status-indicator.active{background:#10b981;background:var(--color-success,#10b981)}.site-status-indicator.warning{background:#f59e0b;background:var(--color-warning,#f59e0b)}.site-summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.site-stat{text-align:center}.site-stat-value{color:var(--color-primary);font-size:1.5rem;font-weight:700}.site-stat-label{color:#666;color:var(--color-textSecondary,#666);font-size:.75rem;margin-top:.25rem}.site-quality-bar{background:#e5e7eb;background:var(--color-background,#e5e7eb);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.site-quality-fill{background:linear-gradient(90deg,#10b981,var(--color-primary));background:linear-gradient(90deg,var(--color-success,#10b981),var(--color-primary));border-radius:4px;height:100%;transition:width .3s}.site-data-period{color:#666;color:var(--color-textSecondary,#666);font-size:.75rem;font-weight:500;margin-bottom:.25rem}.site-last-update{color:#999;color:var(--color-textSecondary,#999);font-size:.75rem;text-align:right}.sync-details-card{background:#fff;background:var(--color-cardBackground,#fff);border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;padding:1.5rem}.sync-details-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.sync-details-title,.sync-phase{margin-bottom:1.5rem}.sync-phase-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.sync-phase-label{color:#333;font-weight:600}.sync-phase-count{color:#666;font-size:.9rem}.sync-progress-bar{background:#e5e7eb;border-radius:6px;height:12px;overflow:hidden;width:100%}.sync-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;height:100%;transition:width .3s}.current-report{align-items:center;background:#667eea1a;border-radius:8px;display:flex;gap:.5rem;margin-top:1rem;padding:.75rem}.current-report-label{color:#667eea;font-weight:600}.current-report-info{color:#666;font-size:.9rem}.sync-errors{background:#fee2e2;border-radius:8px;margin-top:1rem;padding:1rem}.sync-errors-title{color:#dc2626;font-weight:600;margin-bottom:.5rem}.sync-errors-list{list-style:none;margin:0;padding:0}.sync-error-item{color:#991b1b;font-size:.85rem;padding:.25rem 0}.welcome-card{background:#fff;background:var(--color-cardBackground,#fff);border-radius:12px;border-radius:var(--size-borderRadius,12px);box-shadow:0 4px 20px #0000001a;padding:2rem}.welcome-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.welcome-section,.welcome-title{margin-bottom:1.5rem}.welcome-subtitle{color:#333;color:var(--color-text,#333);font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.welcome-text{color:#666;color:var(--color-textSecondary,#666);font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.welcome-text strong{color:var(--color-primary);font-weight:600}.welcome-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);color:#666;color:var(--color-textSecondary,#666);font-size:.85rem;margin-top:2rem;padding-top:1rem}.site-table-card{background:#fff;background:var(--color-cardBackground,#fff);border-radius:12px;border-radius:var(--size-borderRadius,12px);box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;margin-bottom:calc(var(--size-spacing, 1rem)*2);padding:1.5rem;padding:calc(var(--size-spacing, 1rem)*1.5)}.site-table-title{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);color:#333;color:var(--color-text,#333);font-size:1.25rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--size-spacing,1rem);padding-bottom:1rem;padding-bottom:var(--size-spacing,1rem)}.site-table-wrapper{overflow-x:auto}.site-table{border-collapse:collapse;font-size:.9rem;width:100%}.site-table thead{background:#f8fafc;background:var(--color-background,#f8fafc)}.site-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);color:#1e293b;color:var(--color-text,#1e293b);font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.site-table tbody tr{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);transition:background-color .2s}.site-table tbody tr:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.site-table td{color:#1e293b;color:var(--color-text,#1e293b);padding:1rem}.site-name-cell{font-weight:500}.site-name{color:#1e293b;color:var(--color-text,#1e293b)}.site-code-cell{color:#64748b;color:var(--color-textSecondary,#64748b);font-family:var(--font-monospace);font-size:.85rem}.status-badge{border-radius:calc(var(--size-borderRadius, 8px)/2);white-space:nowrap}.status-active{background:#10b9811a;color:#10b981;color:var(--color-success,#10b981)}.status-inactive{background:#ef44441a;color:#ef4444;color:var(--color-error,#ef4444)}.count-cell{color:#3b82f6;color:var(--color-primary,#3b82f6);font-weight:500;text-align:center}.date-cell,.date-range-cell{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.85rem}.actions-cell{text-align:right}.table-btn{border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;font-family:var(--font-primary);font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.table-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff}.table-btn-primary:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.table-btn-secondary{background:#6c757d;color:#fff}.table-btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.data-source-badge{background:#007bff;border-radius:3px;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.data-source-badge-s3{background:#d97706}.table-logger-status{display:flex;flex-wrap:wrap;gap:.25rem}.mini-badge{border-radius:3px;font-size:.7rem;font-weight:600;padding:.15rem .4rem;white-space:nowrap}.mini-badge.mini-active{background:#d4edda;color:#155724}.mini-badge.mini-hold{background:#fff3cd;color:#856404}.mini-badge.mini-stopped{background:#f8d7da;color:#721c24}.mini-badge.mini-idle{background:#e2e3e5;color:#383d41}.lag-cell{font-weight:600}.lag-good{color:#28a745}.lag-caution{color:#ffc107}.lag-warning{color:#dc3545}.skeleton-card{pointer-events:none}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background:linear-gradient(90deg,var(--color-background,#f0f0f0) 25%,#e0e0e0 50%,var(--color-background,#f0f0f0) 75%);background-size:200% 100%;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-title{height:1.2rem;margin-bottom:.5rem;width:60%}.skeleton-badge{height:1.5rem;width:80px}.skeleton-indicator{border-radius:50%;height:12px;width:12px}.skeleton-value{height:2rem;margin-bottom:.25rem;width:50px}.skeleton-label{height:.9rem;width:80px}.skeleton-bar{height:8px;margin:1rem 0;width:100%}.skeleton-text{height:1rem;margin-bottom:.5rem;width:100%}.sites-overview-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin:1.5rem 0;padding:1.5rem}.sites-overview-title{border-bottom:2px solid #f8f9fa;color:#2c3e50;font-size:1.25rem;margin:0 0 1.5rem;padding-bottom:.5rem}.sites-overview-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.site-overview-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem}.site-overview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.site-overview-header h3{color:#2c3e50;font-size:1.1rem;margin:0}.site-source-badge{background:#007bff;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.site-overview-stats{margin-bottom:1rem}.logger-status-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.status-badge{font-size:.85rem;padding:.25rem .5rem}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-hold{background:#fff3cd;color:#856404}.status-badge.status-stopped{background:#f8d7da;color:#721c24}.status-badge.status-idle{background:#e2e3e5;color:#383d41}.last-sync-info{color:#6c757d;font-size:.85rem}.manage-logger-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem;transition:background .2s;width:100%}.manage-logger-btn:hover{background:#0056b3}.site-logger-info{border-top:1px solid #e9ecef;margin-top:.75rem;padding-top:.75rem}.logger-status-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.logger-badge{border-radius:3px;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.logger-badge.logger-active{background:#d4edda;color:#155724}.logger-badge.logger-hold{background:#fff3cd;color:#856404}.logger-badge.logger-stopped{background:#f8d7da;color:#721c24}.logger-badge.logger-idle{background:#e2e3e5;color:#383d41}.logger-health-row{align-items:center;display:flex;font-size:.8rem;gap:.75rem}.health-badge{border-radius:3px;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.logger-last-sync{color:#6c757d;font-size:.75rem}@media (max-width:768px){.site-table{font-size:.8rem}.site-table td,.site-table th{padding:.5rem}.sites-overview-grid{grid-template-columns:1fr}}.logger-selector-container{background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-right:1px solid #dee2e6;border-right:1px solid var(--color-border,#dee2e6);color:inherit;color:var(--color-text,inherit);display:flex;flex-direction:column;height:100%}.logger-selector-header{background:#e9ecef;background:var(--color-cardBackground,#e9ecef);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);font-weight:600;justify-content:space-between;padding:12px 16px}.hierarchy-toggle,.logger-selector-header{align-items:center;display:flex;font-size:14px}.hierarchy-toggle{background:none;border:none;color:inherit;cursor:pointer;justify-content:center;opacity:.7;padding:4px;transition:opacity .2s}.hierarchy-toggle:hover{opacity:1}.hierarchy-toggle svg{display:block}.logger-filter{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);padding:8px 12px}.filter-input{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #dee2e6;border:1px solid var(--color-border,#dee2e6);border-radius:4px;color:inherit;color:var(--color-text,inherit);font-size:12px;outline:none;padding:6px 10px;transition:border-color .15s;width:100%}.filter-input:focus{border-color:#007bff;border-color:var(--color-primary,#007bff)}.filter-input::placeholder{color:#adb5bd;color:var(--color-textSecondary,#adb5bd)}.logger-selector-list{flex:1 1;overflow-y:auto;padding:8px 0}.logger-selector-error,.logger-selector-loading{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:13px;padding:16px;text-align:center}.logger-selector-error{color:#dc3545;color:var(--color-error,#dc3545)}.site-group{margin-bottom:8px}.site-group-header{align-items:center;color:#6c757d;color:var(--color-textSecondary,#6c757d);display:flex;font-size:11px;font-weight:600;justify-content:space-between;padding:6px 16px;text-transform:uppercase}.logger-count{background:#dee2e6;background:var(--color-border,#dee2e6);border-radius:10px;font-size:10px;padding:1px 6px}.logger-item{margin:2px 8px}.logger-header{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px;transition:background .15s}.logger-header:hover{background:#e9ecef;background:var(--color-cardBackground,#e9ecef)}.logger-icon{color:#6c757d;color:var(--color-textSecondary,#6c757d);flex-shrink:0}.logger-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logger-site-badge{background:#e9ecef;background:var(--color-cardBackground,#e9ecef);border-radius:3px;color:#6c757d;color:var(--color-textSecondary,#6c757d);flex-shrink:0;font-size:10px;padding:2px 6px}.report-list{border-left:2px solid #dee2e6;border-left:2px solid var(--color-border,#dee2e6);margin-bottom:4px;margin-left:28px;padding-left:8px}.report-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:12px;justify-content:space-between;padding:6px 8px;transition:background .15s}.report-item:hover{background:#e9ecef;background:var(--color-cardBackground,#e9ecef)}.report-item.selected{background:#007bff;background:var(--color-primary,#007bff);color:#fff}.report-code{font-weight:500}.report-interval{background:#f1f3f4;background:var(--color-surface,#f1f3f4);border-radius:3px;color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:11px;padding:1px 4px}.report-item.selected .report-interval{background:#fff3;color:#ffffffe6}.no-reports{color:#999;color:var(--color-textSecondary,#999);font-size:11px;font-style:italic;padding:8px}.hierarchy-group{margin-bottom:4px}.hierarchy-header{border-radius:3px;color:#495057;color:var(--color-text,#495057);cursor:pointer;font-size:12px;gap:6px;padding:.4rem .75rem;transition:background .15s}.hierarchy-header:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.hierarchy-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-count{background:#e9ecef;background:var(--color-cardBackground,#e9ecef);border-radius:10px;color:#6c757d;color:var(--color-textSecondary,#6c757d);flex-shrink:0;font-size:11px;font-weight:500;padding:1px 6px}.hierarchy-logger{align-items:center;border-radius:3px;color:#495057;color:var(--color-text,#495057);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:.4rem .75rem;transition:background .15s}.hierarchy-logger:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.hierarchy-logger.selected{background:#e7f3ff;background:var(--color-accent,#e7f3ff);border-left:3px solid #007bff;border-left:3px solid var(--color-primary,#007bff);margin-left:-3px;padding-left:calc(.75rem + 3px)}.hierarchy-logger.selected .logger-icon,.hierarchy-logger.selected span{color:#007bff;color:var(--color-primary,#007bff)}.hierarchy-logger.selected span{font-weight:500}.hierarchy-logger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logger-header.selected{background:#007bff;background:var(--color-primary,#007bff);color:#fff}.logger-header.selected .logger-icon{color:#fff}.logger-header.selected .logger-site-badge{background:#fff3;color:#ffffffe6}.header-buttons{align-items:center;display:flex;gap:4px}.logger-status-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.logger-selector-collapsed{align-items:center;background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-right:1px solid #dee2e6;border-right:1px solid var(--color-border,#dee2e6);display:flex;flex-direction:column;height:100%;width:44px}.collapse-toggle-btn{align-items:center;background:#e9ecef;background:var(--color-cardBackground,#e9ecef);border:none;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);color:#495057;color:var(--color-text,#495057);cursor:pointer;display:flex;justify-content:center;padding:10px 0;transition:background .15s;width:100%}.collapse-toggle-btn:hover{background:#dee2e6;background:var(--color-border,#dee2e6)}.collapsed-source-list{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:4px 0;width:100%}.collapsed-source-icon{align-items:center;background:none;border:none;color:#6c757d;color:var(--color-textSecondary,#6c757d);cursor:pointer;display:flex;gap:0;justify-content:center;padding:8px 0;position:relative;transition:background .15s;width:100%}.collapsed-source-icon:hover{background:#e9ecef;background:var(--color-cardBackground,#e9ecef)}.collapsed-source-icon.selected{background:#e7f3ff;background:var(--color-accent,#e7f3ff);border-left:3px solid #007bff;border-left:3px solid var(--color-primary,#007bff);padding-left:0}.collapsed-source-icon.selected,.collapsed-source-icon.selected .logger-icon{color:#007bff;color:var(--color-primary,#007bff)}.collapsed-source-icon .logger-status-dot{height:6px;position:absolute;right:6px;top:6px;width:6px}.gdg-mnuv029{-webkit-touch-callout:default;padding-top:6px;word-break:break-word}.gdg-mnuv029>*{margin:0}.gdg-mnuv029 :last-child{margin-bottom:0}.gdg-mnuv029 p img{width:100%}.gdg-d19meir1{--overlay-top:var(--d19meir1-0);box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);left:var(--d19meir1-1);max-height:calc(100vh - var(--d19meir1-4));max-width:400px;min-height:var(--d19meir1-3);min-width:var(--d19meir1-2);overflow:hidden;position:absolute;text-align:start;top:var(--d19meir1-0);width:-webkit-max-content;width:max-content}@keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0}to{opacity:100%}}.gdg-d19meir1.gdg-style{animation:glide_fade_in-gdg-d19meir1 60ms 1;background-color:var(--gdg-bg-cell);border-radius:2px;box-shadow:0 0 0 1px var(--gdg-accent-color),0 0 1px #3e415666,0 6px 12px #3e415626}.gdg-d19meir1.gdg-pad{padding:var(--d19meir1-5) 8.5px 3px}.gdg-d19meir1 .gdg-clip-region{border-radius:2px;display:flex;flex-direction:column;flex-grow:1;overflow-x:hidden;overflow-y:auto}.gdg-d19meir1 .gdg-clip-region .gdg-growing-entry{height:100%}.gdg-d19meir1 .gdg-clip-region input.gdg-input{border:0;outline:none;width:100%}.gdg-d19meir1 .gdg-clip-region textarea.gdg-input{border:0;outline:none}.gdg-b1ygi5by{display:flex;flex-wrap:wrap;margin-bottom:auto;margin-top:auto}.gdg-b1ygi5by .boe-bubble{align-items:center;background-color:var(--gdg-bg-bubble);border-radius:10px;border-radius:var(--gdg-rounding-radius,10px);color:var(--gdg-text-dark);display:flex;height:20px;justify-content:center;margin:2px;padding:0 8px}.gdg-b1ygi5by textarea{height:0;left:0;opacity:0;position:absolute;top:0;width:0}.gdg-n15fjm3e{color:var(--gdg-text-dark);display:flex;margin:6px 0 3px}.gdg-n15fjm3e>input{background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);padding:0}.gdg-d4zsq0x{display:flex;flex-wrap:wrap}.gdg-d4zsq0x .doe-bubble{align-items:center;background-color:var(--gdg-bg-cell);border-radius:6px;border-radius:var(--gdg-rounding-radius,6px);box-shadow:0 0 1px #3e415666,0 1px 3px #3e415666;color:var(--gdg-text-dark);display:flex;height:24px;justify-content:center;margin:2px;padding:0 8px}.gdg-d4zsq0x .doe-bubble img{height:16px;margin-right:4px;object-fit:contain}.gdg-d4zsq0x textarea{height:0;left:0;opacity:0;position:absolute;top:0;width:0}.gdg-i2iowwq{display:flex;height:100%}.gdg-i2iowwq .gdg-centering-container{align-items:center;display:flex;height:100%;justify-content:center}.gdg-i2iowwq .gdg-centering-container canvas,.gdg-i2iowwq .gdg-centering-container img{max-height:calc(100vh - var(--overlay-top) - 20px);object-fit:contain;-webkit-user-select:none;user-select:none}.gdg-i2iowwq .gdg-centering-container canvas{max-width:380px}.gdg-i2iowwq .gdg-edit-icon{align-items:center;color:var(--gdg-accent-color);cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;right:0;top:12px;width:48px}.gdg-i2iowwq .gdg-edit-icon>*{height:24px;width:24px}.gdg-i2iowwq textarea{height:0;left:0;opacity:0;position:absolute;top:0;width:0}.gdg-u1rrojo{align-items:center;display:flex;flex-grow:1;min-height:21px}.gdg-u1rrojo .gdg-link-area{color:var(--gdg-link-color);cursor:pointer;flex-grow:1;flex-shrink:1;margin-right:8px;overflow:hidden;-webkit-text-decoration:underline!important;text-decoration:underline!important;text-overflow:ellipsis;white-space:nowrap}.gdg-u1rrojo .gdg-edit-icon{align-items:center;color:var(--gdg-accent-color);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;width:32px}.gdg-u1rrojo .gdg-edit-icon>*{height:24px;width:24px}.gdg-u1rrojo textarea{height:0;left:0;opacity:0;position:absolute;top:0;width:0}.gdg-m1pnx84e{align-items:flex-start;color:var(--gdg-text-dark);display:flex;justify-content:space-between;min-width:var(--m1pnx84e-0);position:relative;width:100%}.gdg-m1pnx84e .gdg-g1y0xocz{flex-shrink:1;min-width:0}.gdg-m1pnx84e .gdg-spacer{flex:1 1}.gdg-m1pnx84e .gdg-edit-icon{align-items:center;border-radius:6px;color:var(--gdg-accent-color);cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:0;position:relative;transition:all "0.125s ease";width:24px}.gdg-m1pnx84e .gdg-edit-icon>*{height:16px;width:16px}.gdg-m1pnx84e .gdg-edit-hover:hover{background-color:var(--gdg-accent-light);transition:background-color .15s}.gdg-m1pnx84e .gdg-checkmark-hover:hover{background-color:var(--gdg-accent-color);color:#fff}.gdg-m1pnx84e .gdg-md-edit-textarea{height:0;left:0;margin-top:25px;opacity:0;padding:0;position:relative;top:0;width:0}.gdg-m1pnx84e .gdg-ml-6{margin-left:6px}.gdg-s1dgczr6 .dvn-scroller{overflow:var(--s1dgczr6-0);transform:translateZ(0)}.gdg-s1dgczr6 .dvn-hidden{visibility:hidden}.gdg-s1dgczr6 .dvn-scroll-inner{display:flex;pointer-events:none}.gdg-s1dgczr6 .dvn-scroll-inner>*{flex-shrink:0}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-spacer{flex-grow:1}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-stack{display:flex;flex-direction:column}.gdg-s1dgczr6 .dvn-underlay>*{left:0;position:absolute;top:0}.gdg-s1dgczr6 canvas{outline:none}.gdg-s1dgczr6 canvas *{height:0}.gdg-izpuzkl{-webkit-text-fill-color:var(--gdg-text-dark);background-color:initial;border:0;border-radius:0;bottom:0;color:var(--gdg-text-dark);font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);height:100%;left:0;line-height:16px;margin:0;min-width:100%;overflow:hidden;padding:0;position:absolute;resize:none;right:0;top:0;white-space:pre-wrap;width:100%}.gdg-izpuzkl::placeholder{color:var(--gdg-text-light)}.gdg-invalid .gdg-izpuzkl{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:#d60606;text-decoration-color:#d60606}.gdg-s69h75o{word-wrap:break-word;color:var(--gdg-text-dark);font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);line-height:16px;margin:0;max-width:100%;min-width:100%;padding:0 0 2px;visibility:hidden;white-space:pre-wrap;width:-webkit-max-content;width:max-content}.gdg-g1y0xocz{margin-top:6px;position:relative}.gdg-seveqep{animation:gdg-search-fadein-gdg-seveqep .15s forwards;background-color:var(--gdg-bg-cell);border:1px solid var(--gdg-border-color);border-radius:6px;color:var(--gdg-text-dark);font-size:var(--gdg-editor-font-size);padding:8px;position:absolute;right:20px;top:4px}.gdg-seveqep.out{animation:gdg-search-fadeout-gdg-seveqep .15s forwards}.gdg-seveqep .gdg-search-bar-inner{display:flex}.gdg-seveqep .gdg-search-status{font-size:11px;padding-top:4px}.gdg-seveqep .gdg-search-progress{background-color:var(--gdg-text-light);bottom:0;height:4px;left:0;position:absolute}.gdg-seveqep input{background-color:var(--gdg-bg-cell);border:0;color:var(--gdg-textDark);outline:none;width:220px}.gdg-seveqep button{align-items:center;background:none;border:none;color:var(--gdg-text-medium);cursor:pointer;display:flex;height:24px;justify-content:center;outline:none;padding:0;width:24px}.gdg-seveqep button:hover{color:var(--gdg-text-dark)}.gdg-seveqep button .button-icon{height:16px;width:16px}.gdg-seveqep button:disabled{opacity:.4;pointer-events:none}@keyframes gdg-search-fadeout-gdg-seveqep{0%{transform:translateX(0)}to{transform:translateX(400px)}}@keyframes gdg-search-fadein-gdg-seveqep{0%{transform:translateX(400px)}to{transform:translateX(0)}}.gdg-wmyidgi{direction:ltr;height:var(--wmyidgi-1);max-height:100%;max-width:100%;min-height:10px;min-width:10px;overflow:hidden;overflow:clip;position:relative;width:var(--wmyidgi-0)}.gdg-wmyidgi>:first-child{height:100%;left:0;position:absolute;top:0;width:100%}.gdg-r17m35ur{background-color:var(--gdg-bg-header-has-focus);border:none;border-radius:9px;box-shadow:0 0 0 1px var(--gdg-border-color);color:var(--gdg-text-group-header);flex-grow:1;font:var(--gdg-header-font-style) var(--gdg-font-family);min-height:var(--r17m35ur-0);outline:none;padding:0 8px}.gdg-c1tqibwd{align-items:center;background-color:var(--gdg-bg-header);display:flex;padding:0 8px}.settings-container{background-color:#f8fafc;background-color:var(--color-background,#f8fafc);color:#1e293b;color:var(--color-text,#1e293b);margin:0 auto;max-width:1400px;min-height:100vh;padding:1rem;padding:var(--size-spacing,1rem)}.settings-container input[type=email],.settings-container input[type=number],.settings-container input[type=password],.settings-container input[type=search],.settings-container input[type=text],.settings-container select,.settings-container textarea{background:#fff;background:var(--color-cardBackground,#fff);border-color:#d1d5db;border-color:var(--color-border,#d1d5db);color:#1e293b;color:var(--color-text,#1e293b)}.settings-container input[type=range]{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6)}.settings-header{margin-bottom:2rem}.settings-header h1{color:#1e293b;color:var(--color-text,#1e293b);font-family:var(--font-heading);font-size:2rem;font-weight:600;margin:0 0 .5rem}.settings-header p{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.95rem;margin:0}.settings-tabs{display:flex;gap:0;margin-bottom:0}.tab-button{background:#0000;border:none;border-radius:8px 8px 0 0;border-top:3px solid #0000;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.tab-button:hover{background:#3b82f60d;background:var(--color-surface,#3b82f60d);color:var(--color-primary)}.tab-button.active{background:#fff;background:var(--color-cardBackground,#fff);border-top:3px solid var(--color-primary);color:var(--color-primary);font-weight:600}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;border-radius:var(--size-borderRadius,8px);padding:1.5rem}.section-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;flex-direction:row;gap:1rem;justify-content:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;text-align:left}.section-header>svg{color:#3b82f6;color:var(--color-primary,#3b82f6);flex-shrink:0;order:0}.section-header>div{order:1;text-align:left}.section-header h2{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.section-header p{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.875rem;margin:0}.theme-category{margin-bottom:2rem}.theme-category:last-child{margin-bottom:0}.theme-category h3{color:#1e293b;color:var(--color-text,#1e293b);font-size:1rem;font-weight:600;margin:0 0 1rem}.theme-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.theme-card{background:#fff;background:var(--color-surface,#fff);border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;overflow:hidden;transition:all .2s ease}.theme-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.theme-card.active,.theme-card:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.theme-card.active{box-shadow:0 0 0 3px #3b82f61a}.theme-preview{background:#f8fafc;background:var(--color-background,#f8fafc);height:100px;position:relative}.theme-color-bar{height:60px;width:100%}.theme-colors{display:flex;gap:.5rem;justify-content:center;padding:.75rem}.theme-color-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:24px;width:24px}.theme-info{align-items:center;display:flex;justify-content:space-between;padding:.75rem 1rem}.theme-name{color:#1e293b;color:var(--color-text,#1e293b);font-size:.9rem;font-weight:500}.theme-check{color:#10b981;color:var(--color-success,#10b981);flex-shrink:0}.theme-details{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.detail-group{display:flex;flex-direction:column;gap:.75rem}.detail-group h4{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);color:#1e293b;color:var(--color-text,#1e293b);font-size:.95rem;font-weight:600;margin:0;padding-bottom:.5rem}.color-palette{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.color-item{align-items:center;display:flex;flex-direction:column;gap:.5rem}.color-swatch{border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);box-shadow:0 2px 4px #0000001a;height:48px;width:48px}.color-item span{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;text-align:center}.layout-preview,.typography-preview{display:flex;flex-direction:column;gap:.5rem}.layout-preview p,.typography-preview p{background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:4px;color:#1e293b;color:var(--color-text,#1e293b);font-size:.875rem;margin:0;padding:.5rem}.dashboard-config{gap:2rem;gap:calc(var(--size-spacing, 1rem)*2)}.config-item,.dashboard-config{display:flex;flex-direction:column}.config-item{gap:1rem;gap:var(--size-spacing,1rem)}.config-item label{color:#1e293b;color:var(--color-text,#1e293b);font-size:1rem;font-weight:600}.config-control{align-items:center;display:flex;gap:1rem;gap:var(--size-spacing,1rem)}.card-range-slider{-webkit-appearance:none;appearance:none;background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:4px;flex:1 1;height:8px;outline:none}.card-range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.card-range-slider::-moz-range-thumb{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.card-count-badge{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#fff;font-size:1rem;font-weight:600;min-width:40px;padding:.5rem 1rem;text-align:center}.site-selection-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.site-selection-actions{display:flex;gap:1rem;gap:var(--size-spacing,1rem)}.btn-primary{border-radius:var(--size-borderRadius,6px);display:inline-flex;justify-content:center;transition:all .2s}.btn-primary:hover{background:#2563eb;background:var(--color-primaryHover,#2563eb)}.btn-secondary{align-items:center;background:#f1f5f9;background:var(--color-background,#f1f5f9);border-radius:6px;border-radius:var(--size-borderRadius,6px);display:inline-flex;gap:.5rem;justify-content:center;padding:.5rem 1rem}.btn-secondary:hover{background:#e2e8f0;background:var(--color-surface,#e2e8f0)}.btn-link{background:none;border:none;color:#3b82f6;color:var(--color-primary,#3b82f6);cursor:pointer;font-size:.9rem;font-weight:500;padding:.25rem .5rem;transition:color .2s}.btn-link:hover{color:#06b6d4;color:var(--color-accent,#06b6d4);text-decoration:underline}.site-selection-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.site-checkbox-card{align-items:center;background:#fff;background:var(--color-surface,#fff);border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s}.site-checkbox-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.site-checkbox-card.selected,.site-checkbox-card:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.site-checkbox-card.selected{background:#3b82f60d}.checkbox-indicator{align-items:center;border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:4px;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s;width:20px}.site-checkbox-card.selected .checkbox-indicator{background:#10b981;background:var(--color-success,#10b981);border-color:#10b981;border-color:var(--color-success,#10b981);color:#fff}.site-checkbox-info{flex:1 1;min-width:0}.site-checkbox-name{color:#1e293b;color:var(--color-text,#1e293b);font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-checkbox-code{font-family:var(--font-monospace);font-size:.75rem}.selection-hint,.site-checkbox-code{color:#64748b;color:var(--color-textSecondary,#64748b)}.selection-hint{background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:8px;border-radius:var(--size-borderRadius,8px);font-size:.85rem;margin-top:.5rem;padding:.75rem;text-align:center}@media (max-width:768px){.site-selection-grid,.theme-details,.theme-grid{grid-template-columns:1fr}.site-selection-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.data-config{display:flex;flex-direction:column;gap:1rem}.toggle-label{align-items:center;border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;gap:1rem;padding:1rem;transition:background-color .2s}.toggle-label:hover{background-color:#f1f5f9;background-color:var(--color-hover,#f1f5f9)}.toggle-checkbox{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6);cursor:pointer;height:20px;width:20px}.toggle-text{display:flex;flex-direction:column;gap:.25rem}.toggle-text strong{color:#1e293b;color:var(--color-text,#1e293b);font-size:.95rem}.toggle-text small{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.85rem}.cache-config{display:flex;flex-direction:column;gap:1.5rem}.cache-option{align-items:flex-start;background-color:#f8fafc;background-color:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;gap:2rem;justify-content:space-between;padding:1.5rem}.cache-option-info{flex:1 1}.cache-option-info label{color:#1e293b;color:var(--color-text,#1e293b);display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.cache-option-description{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.875rem;line-height:1.5;margin:0}.mode-selector{display:flex;flex-direction:column;gap:1rem}.mode-option{align-items:flex-start;background-color:#f8fafc;background-color:var(--color-surface,#f8fafc);border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:all .2s ease}.mode-option:hover{background-color:#3b82f605}.mode-option.selected,.mode-option:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.mode-option.selected{background-color:#3b82f60d;box-shadow:0 0 0 3px #3b82f61a}.mode-option.mode-disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.mode-option.mode-disabled:hover{background-color:initial;border-color:#e5e7eb;border-color:var(--color-border,#e5e7eb)}.mode-option input[type=radio]{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6);cursor:pointer;flex-shrink:0;height:18px;margin-top:.25rem;width:18px}.mode-icon{align-items:center;display:flex;flex-shrink:0;height:48px;justify-content:center;margin-top:.25rem;width:48px}.mode-details{flex:1 1}.mode-title{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.mode-subtitle{font-weight:500;margin-bottom:.5rem}.mode-description,.mode-subtitle{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.875rem}.mode-description{line-height:1.5;margin:0 0 .75rem}.mode-features{list-style-type:disc;margin:0;padding-left:1.25rem}.mode-features li{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.8125rem;line-height:1.6;margin-bottom:.25rem}.mode-features li:last-child{margin-bottom:0}.toggle-switch{flex-shrink:0;height:26px;position:relative;width:50px}.toggle-checkbox{height:0;opacity:0;width:0}.toggle-label{background-color:#ccc;border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-label:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.toggle-checkbox:checked+.toggle-label{background-color:#3b82f6;background-color:var(--color-primary,#3b82f6)}.toggle-checkbox:checked+.toggle-label:before{transform:translateX(24px)}.cache-info-box{background-color:#eff6ff;background-color:var(--color-surface,#eff6ff);border-left:4px solid #3b82f6;border-left:4px solid var(--color-primary,#3b82f6);border-radius:4px;margin-top:1rem;padding:1rem}.cache-info-box strong{color:#1e293b;color:var(--color-text,#1e293b);display:block;margin-bottom:.5rem}.cache-info-box ul{list-style:disc;margin:0;padding-left:1.5rem}.cache-info-box li{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.875rem;margin:.25rem 0}.duckdb-test-panel{background-color:#f8fafc;background-color:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);margin-top:1rem;padding:1.5rem}.duckdb-test-panel h4{font-size:1rem;margin:0 0 1rem}.duckdb-test-panel h4,.duckdb-test-panel h5{color:#1e293b;color:var(--color-text,#1e293b);font-weight:600}.duckdb-test-panel h5{font-size:.9rem;margin:0 0 .5rem}.test-status{background-color:#fff;background-color:var(--color-cardBackground,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:4px}.test-error,.test-status{font-family:monospace;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.test-error{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c00}.test-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.btn-test{background-color:#3b82f6;background-color:var(--color-primary,#3b82f6);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-test:hover{background-color:#2563eb;background-color:var(--color-primaryHover,#2563eb)}.btn-test.btn-danger{background-color:#ef4444;color:#fff}.btn-test.btn-danger:hover{background-color:#dc2626}.test-stats{background-color:#fff;background-color:var(--color-cardBackground,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:4px;padding:1rem}.test-stats h5{color:#1e293b;color:var(--color-text,#1e293b);margin:0 0 .75rem}.stats-grid{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}.stat-item{background-color:#f8fafc;background-color:var(--color-surface,#f8fafc);border-radius:4px;padding:.5rem}.stat-item strong{color:#64748b;color:var(--color-text-secondary,#64748b);display:block;font-size:.85rem;margin-bottom:.25rem}.test-stats details{margin-top:.75rem}.test-stats summary{color:#3b82f6;color:var(--color-primary,#3b82f6);cursor:pointer;font-size:.9rem;font-weight:500}.test-stats pre{color:#1e293b;color:var(--color-text,#1e293b);font-family:monospace;font-size:.75rem;margin:.5rem 0 0;overflow-x:auto}.sync-status-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.status-badge{font-size:.875rem}.status-success{background-color:#d1fae5;color:#065f46}.status-warning{background-color:#fef3c7;color:#92400e}.status-syncing{animation:pulse 2s ease-in-out infinite;background-color:#dbeafe;color:#1e40af}.status-idle{background-color:#e5e7eb;color:#374151}.shard-stats,.storage-stats{margin-bottom:1.5rem}.shard-stats h5,.storage-stats h5{color:#1e293b;color:var(--color-text,#1e293b);font-size:.95rem;font-weight:600;margin:0 0 .75rem}.btn-test:disabled{cursor:not-allowed;opacity:.5}.sync-message{border-radius:4px;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.75rem}.sync-message.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.sync-message.error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.account-info{display:flex;flex-direction:column;gap:1rem}.info-row{align-items:center;background:#f8fafc;background:var(--color-background,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;display:flex;padding:.75rem 1rem}.info-label{font-size:.9rem;min-width:120px}.info-value{font-size:.95rem}.automation-section{display:flex;flex-direction:column;gap:1rem}.automation-sub-tabs{background:#f8fafc;background:var(--color-background,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;display:flex;gap:.5rem;padding:.5rem}.sub-tab-button{background:#0000;border:1px solid #0000;border-radius:6px;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.sub-tab-button:hover{background:#3b82f61a;background:var(--color-surface,#3b82f61a);color:var(--color-primary)}.sub-tab-button.active{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid var(--color-primary);color:var(--color-primary);font-weight:600}.report-scoped-automation{display:flex;flex-direction:column;gap:1rem}.report-selector{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem}.report-selector .selector-row{align-items:center;display:flex;gap:.75rem}.report-selector label{color:#64748b;color:var(--color-textSecondary,#64748b);font-weight:500;min-width:50px}.report-selector select{background:#fff;background:var(--color-background,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;color:#1e293b;color:var(--color-text,#1e293b);font-size:.9rem;min-width:200px;padding:.5rem .75rem}.report-selector select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f61a;outline:none}.report-selector select:disabled{cursor:not-allowed;opacity:.5}.no-report-selected{background:#fff;background:var(--color-cardBackground,#fff);border:1px dashed #e2e8f0;border:1px dashed var(--color-border,#e2e8f0);border-radius:8px;color:#64748b;color:var(--color-textSecondary,#64748b);padding:3rem}.hierarchy-management-overlay,.no-report-selected{align-items:center;display:flex;justify-content:center}.hierarchy-management-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.hierarchy-management-panel{background:#fff;background:var(--color-cardBackground,#fff);border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;height:85vh;max-width:1200px;overflow:hidden;width:90%}.hierarchy-management-embedded{border-radius:0;box-shadow:none;height:auto;max-width:none;min-height:500px;width:100%}.hierarchy-header{align-items:center;background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-bottom:none;display:flex;justify-content:space-between;padding:1.5rem 2rem}.hierarchy-header h2{color:#212529;color:var(--color-text,#212529);font-size:1.5rem;margin:0}.btn-close{background:none;color:#6c757d;color:var(--color-textSecondary,#6c757d);display:flex;font-size:1.8rem;height:32px;transition:all .2s;width:32px}.btn-close:hover{background:#e9ecef;background:var(--color-surface,#e9ecef);color:#212529;color:var(--color-text,#212529)}.hierarchy-tabs{background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-bottom:none;border-top:none;display:flex;padding-top:0}.hierarchy-tab{background:#e9ecef;background:var(--color-surface,#e9ecef);border:none!important;border-right:1px solid #dee2e6!important;border-right:1px solid var(--color-border,#dee2e6)!important;border-top:3px solid #0000!important;color:#6c757d;color:var(--color-textSecondary,#6c757d);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:1rem;position:relative;transition:all .2s}.hierarchy-tab:last-child{border-right:none!important}.hierarchy-tab:hover:not(.active){background:#dde1e5;background:var(--color-surfaceHover,#dde1e5);color:#495057;color:var(--color-textSecondary,#495057)}.hierarchy-tab.active{background:#fff;background:var(--color-cardBackground,#fff);border-bottom:none!important;border-top:3px solid #007bff!important;border-top:3px solid var(--color-primary,#007bff)!important;color:#007bff;color:var(--color-primary,#007bff);font-weight:700}.hierarchy-content{border-top:none;flex:1 1;overflow-y:auto;padding:2rem}.content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.content-header h3{color:#212529;color:var(--color-text,#212529);font-size:1.3rem;margin:0}.btn-create{background:#28a745;background:var(--color-success,#28a745);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.5rem;transition:all .2s}.btn-create:hover{box-shadow:0 4px 8px #28a7454d;opacity:.9;transform:translateY(-1px)}.hierarchy-form{background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-radius:8px;max-width:600px;padding:2rem}.hierarchy-form h3{color:#212529;color:var(--color-text,#212529);font-size:1.2rem;margin:0 0 1.5rem}.hierarchy-form .form-field{margin-bottom:1.2rem}.hierarchy-form .form-field label{color:#495057;color:var(--color-textSecondary,#495057);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.hierarchy-form .form-field input,.hierarchy-form .form-field select,.hierarchy-form .form-field textarea{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #ced4da;border:1px solid var(--color-border,#ced4da);border-radius:4px;color:inherit;color:var(--color-text,inherit);font-family:inherit;font-size:.95rem;padding:.6rem;width:100%}.hierarchy-form .form-field input:focus,.hierarchy-form .form-field select:focus,.hierarchy-form .form-field textarea:focus{border-color:#007bff;border-color:var(--color-primary,#007bff);box-shadow:0 0 0 .2rem #007bff40;outline:none}.hierarchy-form .form-field textarea{resize:vertical}.form-actions{gap:1rem;justify-content:flex-end;margin-top:2rem}.form-actions .btn-primary,.form-actions .btn-secondary{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-weight:600;padding:.7rem 2rem;transition:all .2s}.form-actions .btn-primary{background:#007bff;background:var(--color-primary,#007bff);color:#fff}.form-actions .btn-primary:hover{box-shadow:0 4px 8px #007bff4d;opacity:.9;transform:translateY(-1px)}.form-actions .btn-secondary{background:#6c757d;background:var(--color-secondary,#6c757d);color:#fff}.form-actions .btn-secondary:hover{box-shadow:0 4px 8px #6c757d4d;opacity:.9;transform:translateY(-1px)}.entity-list{background:#fff;background:var(--color-cardBackground,#fff);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.entity-list table{border-collapse:collapse;width:100%}.entity-list thead{background:#e9ecef;background:var(--color-surface,#e9ecef)}.entity-list th{border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--color-border,#dee2e6);color:#495057;color:var(--color-textSecondary,#495057);font-size:.9rem;font-weight:600;padding:1rem;text-align:left}.entity-list td{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);color:#212529;color:var(--color-text,#212529);padding:1rem}.entity-list tbody tr:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.entity-list tbody tr:last-child td{border-bottom:none}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;margin-right:.5rem;padding:.4rem .8rem;transition:all .2s}.btn-edit{background:#007bff;background:var(--color-primary,#007bff);color:#fff}.btn-edit:hover{box-shadow:0 2px 4px #007bff4d;opacity:.9}.btn-delete{background:#dc3545;background:var(--color-error,#dc3545);color:#fff}.btn-delete:hover{box-shadow:0 2px 4px #dc35454d;opacity:.9}.trigger-management-container{margin:0 auto;max-width:1400px;padding:2rem}.trigger-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.trigger-management-header h1{color:#1a202c;font-size:2rem;margin:0 0 .5rem}.trigger-management-header p{color:#718096;margin:0}.trigger-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.trigger-table{border-collapse:collapse;width:100%}.trigger-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.trigger-table th{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.trigger-table td{border-bottom:1px solid #e2e8f0;padding:1rem;vertical-align:top}.trigger-table tbody tr:hover{background:#f7fafc}.trigger-name{display:flex;flex-direction:column;gap:.25rem}.trigger-name strong{color:#1a202c}.trigger-description{color:#718096;font-size:.75rem;font-style:italic}.trigger-formula{background:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;color:#2d3748;display:inline-block;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.8125rem;max-width:400px;overflow:hidden;padding:.375rem .625rem;text-overflow:ellipsis;white-space:nowrap}.param-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.param-badge{background:#edf2f7;border:1px solid #cbd5e0;border-radius:4px;color:#2d3748;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.75rem;font-weight:600;padding:.25rem .625rem}.no-params{color:#a0aec0;font-size:.75rem;font-style:italic}.badge-disabled,.badge-enabled{display:inline-block}.btn:hover:not(:disabled){box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary:hover:not(:disabled){background:#3182ce}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn-danger:hover:not(:disabled){background:#e53e3e}.form-content,.modal-content form{display:flex;flex-direction:column}.form-content{gap:1.5rem;padding:1.5rem}.form-group textarea{min-height:60px}.formula-input{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.8125rem}.formula-input.valid{border-color:#48bb78}.formula-input.invalid{border-color:#f56565}.formula-feedback{font-weight:500;padding:.5rem}.formula-feedback.parsing{background:#edf2f7;color:#4a5568}.formula-feedback.valid{background:#c6f6d5;color:#22543d}.formula-feedback.invalid{background:#fed7d7;color:#742a2a}.cel-reference-panel{border:1px solid #e2e8f0;border-radius:6px;margin-top:.75rem}.cel-reference-toggle{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;padding:.625rem .75rem;transition:background .15s;-webkit-user-select:none;user-select:none}.cel-reference-toggle:hover{background:#edf2f7}.cel-reference-content{border-top:1px solid #e2e8f0;max-height:300px;overflow-y:auto}.cel-category{border-bottom:1px solid #e2e8f0}.cel-category:last-child{border-bottom:none}.cel-category-header{align-items:center;background:#fff;color:#2d3748;cursor:pointer;display:flex;font-size:.75rem;gap:.375rem;padding:.5rem .75rem;transition:background .15s}.cel-category-header:hover{background:#f7fafc}.cel-category-title{font-weight:600;min-width:140px}.cel-category-preview{color:#718096;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cel-category-content{background:#fff;padding:.25rem 0}.cel-function-row{grid-gap:.75rem;align-items:baseline;display:grid;font-size:.75rem;gap:.75rem;grid-template-columns:120px 1fr auto;padding:.375rem .75rem .375rem 1.75rem}.cel-function-row:hover{background:#f7fafc}.cel-function-name{background:#ebf8ff;border-radius:3px;color:#2b6cb0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.6875rem;padding:.125rem .375rem;white-space:nowrap}.cel-function-desc{color:#4a5568}.cel-function-example{background:#edf2f7;border-radius:3px;color:#718096;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.625rem;padding:.125rem .375rem;white-space:nowrap}.modal-footer{padding:1.5rem}@media (max-width:768px){.trigger-management-container{padding:1rem}.trigger-management-header{align-items:flex-start;flex-direction:column;gap:1rem}.trigger-table{font-size:.75rem}.trigger-table td,.trigger-table th{padding:.5rem}.modal-content{max-height:95vh;width:95%}.action-buttons{flex-direction:column}.param-badges,.trigger-formula{max-width:200px}}.alarm-management-container{margin:0 auto;max-width:1400px;padding:2rem}.alarm-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.alarm-management-header h2{color:#1a202c;font-size:1.75rem;margin:0 0 .5rem}.alarm-management-header p{color:#718096;font-size:.875rem;margin:0}.alarm-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.alarm-table{border-collapse:collapse;width:100%}.alarm-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.alarm-table th{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.alarm-table td{border-bottom:1px solid #e2e8f0;padding:1rem}.alarm-table tbody tr:hover{background:#f7fafc}.alarm-name{display:flex;flex-direction:column;gap:.25rem}.alarm-name strong{color:#1a202c}.alarm-description{color:#718096;font-size:.75rem}.severity-badge{border-radius:9999px;font-weight:600;gap:.375rem;padding:.25rem .75rem;text-transform:uppercase}.severity-info{background:#bee3f8;color:#2c5282}.severity-warning{background:#feebc8;color:#7c2d12}.severity-critical{background:#fed7d7;color:#742a2a}.status-badge{border-radius:9999px;display:inline-block;text-transform:uppercase}.status-pending{background:#e2e8f0;color:#2d3748}.status-active{background:#fed7d7;color:#742a2a}.status-acknowledged{background:#feebc8;color:#7c2d12}.status-cleared{background:#c6f6d5;color:#22543d}.alarm-events-row{background:#f7fafc}.alarm-events{border-top:2px solid #cbd5e0;padding:1.5rem}.alarm-events h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.loading-events,.no-events{color:#718096;padding:2rem;text-align:center}.no-events{font-style:italic}.events-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.events-table thead{background:#e2e8f0}.events-table th{color:#4a5568;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem;text-align:left;text-transform:uppercase}.events-table td{border-bottom:1px solid #e2e8f0;font-size:.875rem;padding:.75rem}.events-table tbody tr:last-child td{border-bottom:none}.events-table tbody tr:hover{background:#f7fafc}.ack-info{display:flex;flex-direction:column;gap:.25rem}.ack-by{color:#718096;font-size:.75rem}.modal-content{max-width:800px}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-section h3{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.form-group textarea{font-family:inherit}.form-hint{color:#718096}@media (max-width:768px){.alarm-management-container{padding:1rem}.alarm-management-header{align-items:flex-start;flex-direction:column;gap:1rem}.alarm-table{font-size:.75rem}.alarm-table td,.alarm-table th{padding:.5rem}.form-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.action-buttons{flex-direction:column}.events-table{font-size:.75rem}.events-table td,.events-table th{padding:.5rem}}.validation-management-container{margin:0 auto;max-width:1400px;padding:2rem}.validation-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.validation-management-header h2{color:#1a202c;font-size:1.75rem;margin:0 0 .5rem}.validation-management-header p{color:#718096;margin:0}.validation-list{background:#fff;background:var(--color-cardBackground,#fff);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.validation-table{border-collapse:collapse;width:100%}.validation-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.validation-table th{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.validation-table td{border-bottom:1px solid #e2e8f0;padding:1rem}.validation-table tbody tr:hover{background:#f7fafc}.validation-name{display:flex;flex-direction:column;gap:.25rem}.validation-name strong{color:#1a202c}.validation-description{color:#718096;font-size:.75rem}.badge-action{border-radius:9999px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.badge-action-flag{background:#bee3f8;color:#2c5282}.badge-action-null{background:#fed7d7;color:#742a2a}.badge-severity{border-radius:9999px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.badge-severity-info{background:#bee3f8;color:#2c5282}.badge-severity-warning{background:#feebc8;color:#7c2d12}.badge-severity-error{background:#fed7d7;color:#742a2a}.validation-flags-row{background:#f7fafc}.validation-flags{border-top:2px solid #cbd5e0;padding:1.5rem}.flags-section{margin-bottom:0}.flags-section h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.flags-table{background:#fff;background:var(--color-cardBackground,#fff);border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.flags-table thead{background:#e2e8f0}.flags-table th{color:#4a5568;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem;text-align:left;text-transform:uppercase}.flags-table td{border-bottom:1px solid #e2e8f0;font-size:.875rem;padding:.75rem}.flags-table tbody tr:last-child td{border-bottom:none}.flags-table tbody tr:hover{background:#f7fafc}.form-group.full-width{grid-column:1/-1}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.625rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}@media (max-width:768px){.validation-management-container{padding:1rem}.validation-management-header{align-items:flex-start;flex-direction:column;gap:1rem}.validation-table{font-size:.75rem}.validation-table td,.validation-table th{padding:.5rem}.form-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.action-buttons{flex-direction:column}.flags-table{font-size:.75rem}.flags-table td,.flags-table th{padding:.5rem}}.column-selector-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.column-selector-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;height:80vh;max-width:1000px;width:90%}.column-selector-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:16px 20px}.column-selector-header h2{font-size:20px;font-weight:600;margin:0}.column-selector-close-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:all .2s}.column-selector-close-btn:hover{background:#f0f0f0;color:#000}.column-selector-preset-bar{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;gap:16px;justify-content:space-between;padding:12px 20px}.column-selector-preset-label{color:#333;font-size:14px;font-weight:500}.column-selector-preset-actions,.column-selector-preset-label{align-items:center;display:flex;gap:8px}.column-selector-preset-dropdown{background:#fff;border:1px solid #ccc;border-radius:4px;font-size:14px;min-width:250px;padding:6px 12px}.column-selector-btn-save-preset{background:#fff;border:1px solid #06c;border-radius:4px;color:#06c;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.column-selector-btn-save-preset:hover:not(:disabled){background:#06c;color:#fff}.column-selector-btn-save-preset:disabled{cursor:not-allowed;opacity:.5}.column-selector-btn-edit-preset{background:#fff;border:1px solid #ffc107;border-radius:4px;color:#ffc107;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.column-selector-btn-edit-preset:hover{background:#ffc107;color:#000}.column-selector-btn-delete-preset{background:#fff;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.column-selector-btn-delete-preset:hover{background:#dc3545;color:#fff}.column-selector-body{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:1fr auto 1fr;overflow:hidden;padding:16px}.column-selector-panel{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;display:flex;flex-direction:column;overflow:hidden}.column-selector-panel-header{background:#f0f0f0;border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:8px;padding:12px}.column-selector-panel-header h3{font-size:16px;font-weight:600;margin:0}.column-selector-search{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px;width:100%}.column-selector-list{flex:1 1;overflow-y:auto;padding:8px}.column-selector-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;margin-bottom:4px;padding:8px 12px;transition:all .2s}.column-selector-item:hover{background:#f0f8ff;border-color:#06c}.column-selector-item-selected{cursor:default}.column-selector-item-selected:hover{background:#fff;border-color:#ddd}.column-selector-item-label{flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-selector-item-id{color:#666;font-size:12px;margin-right:8px}.column-selector-item-btn{background:#06c;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:14px;padding:4px 10px}.column-selector-item-btn:hover{background:#0052a3}.column-selector-item-actions{display:flex;gap:4px}.column-selector-item-btn-small{background:#f0f0f0;border:1px solid #ccc;border-radius:3px;cursor:pointer;font-size:12px;padding:2px 6px}.column-selector-item-btn-small:hover:not(:disabled){background:#e0e0e0}.column-selector-item-btn-small:disabled{cursor:not-allowed;opacity:.3}.column-selector-item-btn-remove{background:#f44;border-color:#f44;color:#fff}.column-selector-item-btn-remove:hover{background:#d00}.column-selector-footer{align-items:center;border-top:1px solid #ddd;display:flex;justify-content:space-between;padding:16px 20px}.column-selector-footer-left,.column-selector-footer-right{display:flex;gap:8px}.column-selector-btn-secondary{background:#f0f0f0;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.column-selector-btn-secondary:hover{background:#e0e0e0}.column-selector-btn-cancel{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.column-selector-btn-cancel:hover{background:#f0f0f0}.column-selector-btn-apply{background:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px}.column-selector-btn-apply:hover{background:#0052a3}.column-selector-dialog-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.column-selector-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;min-width:400px;padding:24px}.column-selector-dialog h3{font-size:18px;margin:0 0 16px}.column-selector-dialog-input{border:1px solid #ccc;border-radius:4px;font-size:14px;margin-bottom:16px;padding:8px 12px;width:100%}.column-selector-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.column-selector-move-all{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:0 2px}.column-selector-move-all-btn{background:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:600;min-width:44px;padding:8px 12px;transition:all .2s}.column-selector-move-all-btn:hover:not(:disabled){background:#06c;border-color:#06c;color:#fff}.column-selector-move-all-btn:disabled{cursor:not-allowed;opacity:.3}.csv-export-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.csv-export-modal{background:#fff;background:var(--color-surface,#fff);border-radius:8px;border-radius:var(--size-borderRadius,8px);box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;font-family:var(--font-primary);max-height:80vh;max-width:600px;width:90%}.csv-export-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;justify-content:space-between;padding:16px 20px}.csv-export-header h2{color:#1e293b;color:var(--color-text,#1e293b);font-size:18px;font-weight:600;margin:0}.csv-export-close-btn{background:none;border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:all .2s}.csv-export-close-btn:hover{background:#f8fafc;background:var(--color-background,#f8fafc);color:#1e293b;color:var(--color-text,#1e293b)}.csv-export-body{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px 20px}.csv-export-section-label{color:#1e293b;color:var(--color-text,#1e293b);font-size:.8rem;font-weight:600;letter-spacing:.03em;margin-bottom:6px;text-transform:uppercase}.csv-export-channel-controls{display:flex;gap:8px;margin-bottom:6px}.csv-export-channel-controls button{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;font-family:var(--font-primary);font-size:.78rem;font-weight:500;padding:3px 10px;transition:all .2s}.csv-export-channel-controls button:hover{background:#3b82f60d;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.csv-export-channel-controls button.active{background:#3b82f6;background:var(--color-primary,#3b82f6);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);color:#fff}.csv-export-filter-sep{color:#e2e8f0;color:var(--color-border,#e2e8f0);font-size:.85rem;-webkit-user-select:none;user-select:none}.csv-export-channels{background:#f8fafc;background:var(--color-background,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);max-height:200px;overflow-y:auto}.csv-export-channel-item{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);cursor:pointer;display:flex;font-size:.82rem;gap:8px;padding:5px 12px;transition:background .15s}.csv-export-channel-item:last-child{border-bottom:none}.csv-export-channel-item:hover{background:#3b82f60f}.csv-export-channel-item input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6);cursor:pointer;margin:0}.csv-export-channel-item label{color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-export-channel-id{font-family:monospace;font-family:var(--font-mono,monospace);font-size:.72rem}.csv-export-cc-label,.csv-export-channel-id{color:#64748b;color:var(--color-textSecondary,#64748b)}.csv-export-cc-label{background:#fff;background:var(--color-cardBackground,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:5px 12px;text-transform:uppercase}.csv-export-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.csv-export-option-group{display:flex;flex-direction:column;gap:6px}.csv-export-option-group-label{color:#1e293b;color:var(--color-text,#1e293b);font-size:.8rem;font-weight:600;letter-spacing:.03em;margin-bottom:2px;text-transform:uppercase}.csv-export-option-row{align-items:center;color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;display:flex;font-size:.82rem;gap:6px}.csv-export-option-row input{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6);cursor:pointer;margin:0}.csv-export-option-row label{cursor:pointer}.csv-export-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;justify-content:space-between;padding:12px 20px}.csv-export-footer-info{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.78rem}.csv-export-footer-actions{display:flex;gap:8px}.csv-export-btn-cancel{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;font-family:var(--font-primary);font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.csv-export-btn-cancel:hover{background:#3b82f60d;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.csv-export-btn-export{background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#fff;cursor:pointer;font-family:var(--font-primary);font-size:.85rem;font-weight:600;padding:.5rem 1.2rem;transition:all .2s}.csv-export-btn-export:hover{background:#2563eb;background:var(--color-primaryHover,#2563eb);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.csv-export-btn-export:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.validation-panel{animation:slideInRight .25s ease-out;background:#fff;background:var(--color-cardBackground,#fff);border-left:2px solid #e2e8f0;border-left:2px solid var(--color-border,#e2e8f0);bottom:0;box-shadow:-4px 0 12px #00000014;display:flex;flex-direction:column;font-family:var(--font-primary);pointer-events:auto;position:fixed;right:0;top:60px;width:400px;z-index:10}.validation-panel.closing{animation:slideOutRight .25s ease-in}@keyframes slideOutRight{0%{transform:translateX(0)}to{transform:translateX(100%)}}.validation-panel-header{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);color:#fff;padding:1.25rem 1.5rem}.validation-panel-title-row{align-items:center;display:flex;gap:1rem;margin-bottom:0}.validation-panel-header h3{font-size:1.1rem;font-weight:600;margin:0}.validation-panel-subtitle{font-size:.85rem;font-weight:400;margin:0;opacity:.95}.selection-info{background:#ffffff26;border-radius:6px;font-size:.8rem;margin-top:1rem;padding:.75rem}.selection-detail{line-height:1.5;margin:.35rem 0}.selection-detail strong{font-weight:600;margin-right:.5rem}.validation-panel-body{flex:1 1;overflow-y:auto;padding:1.25rem 1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.85rem}.form-group .required{color:#ef4444;color:var(--color-error,#ef4444);margin-left:.25rem}.form-control{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#1e293b;color:var(--color-text,#1e293b);font-family:var(--font-primary);font-size:.9rem;padding:.6rem .85rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-control::placeholder{color:#94a3b8;color:var(--color-textSecondary,#94a3b8)}textarea.form-control{min-height:70px}.time-range-fields{display:flex;flex-direction:column;gap:.5rem}.time-field{align-items:center;display:flex;gap:.5rem}.time-label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.8rem;font-weight:500;min-width:40px}.time-field input[type=datetime-local]{flex:1 1;font-family:var(--font-primary)}.channels-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.35rem}.channels-header>span{color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;font-weight:600}.channels-all-toggle{color:#64748b;color:var(--color-textSecondary,#64748b);display:inline-flex!important;font-size:.8rem;font-weight:500}.channels-all-toggle,.channels-summary-row{align-items:center;cursor:pointer;gap:.35rem}.channels-summary-row{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;padding:.4rem .5rem}.channels-expand-icon{color:#64748b;color:var(--color-textSecondary,#64748b);flex-shrink:0;font-size:.7rem}.channels-summary{color:#1e293b;color:var(--color-text,#1e293b);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-checkbox-list{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;flex-direction:column;gap:.15rem;margin-top:.35rem;max-height:200px;overflow-y:auto;padding:.35rem}.channel-checkbox-item{align-items:center;border-radius:4px;cursor:pointer;display:flex!important;font-size:.8rem;gap:.5rem;margin-bottom:0!important;padding:.25rem .35rem}.channel-checkbox-item:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.channel-number{color:#64748b;color:var(--color-textSecondary,#64748b);font-family:Fira Code,Consolas,monospace;font-size:.75rem;min-width:28px}.channel-checkbox-item .channel-label{color:#1e293b;color:var(--color-text,#1e293b);font-weight:400}.quality-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.quality-current{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.8rem;font-weight:500}.quality-toggle{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;gap:0;overflow:hidden}.quality-btn{background:#fff;background:var(--color-surface,#fff);border:none;color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;flex:1 1;font-family:var(--font-primary);font-size:.85rem;font-weight:600;padding:.6rem 1rem;transition:all .15s}.quality-btn:first-child{border-right:1px solid #e2e8f0;border-right:1px solid var(--color-border,#e2e8f0)}.quality-btn:hover:not(.active){background:#f8fafc;background:var(--color-background,#f8fafc)}.quality-good.active{background:#4caf50;color:#fff}.quality-bad.active{background:#f44336;color:#fff}.status-flags-header{color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 0;-webkit-user-select:none;user-select:none}.status-flags-header:hover{color:#3b82f6;color:var(--color-primary,#3b82f6)}.status-checkbox-list{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;flex-direction:column;gap:.15rem;margin-top:.35rem;padding:.35rem}.status-checkbox-item{align-items:center;border-radius:4px;cursor:pointer;display:flex!important;font-size:.8rem;gap:.5rem;margin-bottom:0!important;padding:.25rem .35rem}.status-checkbox-item:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.status-bit-number{color:#888;color:var(--color-textSecondary,#888);font-family:Fira Code,Consolas,monospace;font-size:.75rem;min-width:20px;text-align:right}.status-checkbox-name{color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-weight:400}.status-color-swatch{border:1px solid #00000026;border-radius:50%;display:inline-block;flex-shrink:0;height:16px;width:16px}.radio-group{align-items:stretch;display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;padding:.5rem 0}.radio-label{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#1e293b;color:var(--color-text,#1e293b);display:flex;flex:1 1;font-size:.85rem;font-weight:500;height:100%;justify-content:center;min-width:0;padding:.6rem .85rem;transition:all .2s}.radio-label:hover{background:#f8fafc;background:var(--color-background,#f8fafc);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.radio-label:has(input[type=radio]:checked){background:#3b82f61a;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6);font-weight:600}.radio-label input[type=radio]{display:none}.radio-label span{display:block;line-height:1;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap}.form-hint{font-size:.8rem;margin:.5rem 0 0}.char-counter{color:#94a3b8;color:var(--color-textSecondary,#94a3b8);font-size:.75rem;margin-top:.35rem;text-align:right}.validation-panel-footer{background:#f8fafc;background:var(--color-background,#f8fafc);border-top:2px solid #e2e8f0;border-top:2px solid var(--color-border,#e2e8f0);display:flex;gap:.75rem;padding:1.25rem 1.5rem}.btn{border-radius:8px;border-radius:var(--size-borderRadius,8px);flex:1 1;font-family:var(--font-primary);font-size:.9rem;font-weight:600;justify-content:center;padding:.7rem 1.5rem;text-align:center}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-primary:disabled{transform:none}.btn-secondary{background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);color:#1e293b;color:var(--color-text,#1e293b)}.btn-secondary:hover:not(:disabled){background:#f8fafc;background:var(--color-background,#f8fafc);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.btn-secondary:disabled{opacity:.6}.validation-tabs{border-bottom:2px solid #fff3;display:flex;gap:0;margin-top:1rem}.validation-tab{background:#0000;border:none;border-top:3px solid #0000;color:#ffffffb3;cursor:pointer;font-family:var(--font-primary);font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;position:relative;top:-2px;transition:all .2s}.validation-tab:hover{background:#ffffff0d;color:#fff}.validation-tab.active{background:#ffffff1a;border-top-color:#fff;color:#fff;font-weight:600}.selection-info-box{background:#fffffff2;border-radius:0;margin:0;padding:1rem}.selection-info-row{align-items:baseline;display:flex;font-size:.85rem;margin-bottom:.5rem}.selection-info-row:last-child{margin-bottom:0}.info-label{color:#64748b;color:var(--color-textSecondary,#64748b);flex-shrink:0;font-weight:600;min-width:110px}.info-value{color:#1e293b;color:var(--color-text,#1e293b);font-weight:500}.history-empty,.history-loading{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.9rem;padding:2rem 1rem;text-align:center}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);overflow:hidden;transition:box-shadow .2s}.history-item:hover{box-shadow:0 2px 8px #00000014}.history-item-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background .15s;-webkit-user-select:none;user-select:none}.history-item-header:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.history-item-summary{align-items:flex-start;display:flex;flex:1 1;gap:.75rem}.sync-icon{flex-shrink:0;font-size:1rem;margin-top:.1rem}.sync-icon.synced{color:#10b981;color:var(--color-success,#10b981)}.sync-icon.pending{color:#f59e0b;color:var(--color-warning,#f59e0b)}.sync-icon.local,.sync-icon.syncing{color:#3b82f6;color:var(--color-info,#3b82f6)}.sync-icon.failed{color:#ef4444;color:var(--color-error,#ef4444)}.sync-icon.conflict{color:#f59e0b;color:var(--color-warning,#f59e0b)}.history-summary-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.history-summary-text{color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;font-weight:500;line-height:1.4}.history-timestamp{font-size:.75rem;font-weight:400}.expand-arrow,.history-timestamp{color:#64748b;color:var(--color-textSecondary,#64748b)}.expand-arrow{flex-shrink:0;font-size:.7rem;margin-left:.5rem}.history-item-details{background:#f8fafc;background:var(--color-background,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);padding:0 1rem .75rem}.history-detail-row{color:#1e293b;color:var(--color-text,#1e293b);font-size:.8rem;line-height:1.5;margin:.5rem 0}.history-detail-row strong{color:#64748b;color:var(--color-textSecondary,#64748b);font-weight:600;margin-right:.5rem}.history-time-range{align-items:flex-start;display:flex;flex-direction:column}.time-range-block{display:flex;flex-direction:column;gap:.15rem;margin-top:.25rem}.time-range-line{display:flex;gap:.5rem}.time-range-label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;min-width:40px;text-align:right}.time-range-value{color:#1e293b;color:var(--color-text,#1e293b);font-family:monospace}.history-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.btn-sm{font-size:.8rem;padding:.5rem 1rem}.btn-danger{background:#ef4444;background:var(--color-error,#ef4444)}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 2px 8px #ef44444d;transform:translateY(-1px)}.auto-validation-list{display:flex;flex-direction:column;gap:12px}.auto-validation-item{align-items:flex-start;background:#f8fafc;background:var(--color-backgroundAlt,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:12px;transition:border-color .15s ease}.auto-validation-item:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.auto-validation-info{flex:1 1;min-width:0}.auto-validation-name{color:#1e293b;color:var(--color-text,#1e293b);font-weight:600;margin-bottom:4px}.auto-validation-action{color:#64748b;color:var(--color-textMuted,#64748b);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.85rem}.auto-validation-description{color:#64748b;color:var(--color-textMuted,#64748b);font-size:.8rem;font-style:italic;margin-top:4px}.auto-validation-item .btn{flex-shrink:0}.auto-validation-item-card{background:#f8fafc;background:var(--color-backgroundAlt,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;overflow:hidden;transition:border-color .15s ease}.auto-validation-item-card:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.auto-validation-header{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.auto-validation-name-row{align-items:center;cursor:pointer;display:flex;gap:6px;min-width:0}.auto-validation-name-row:hover{color:#3b82f6;color:var(--color-primary,#3b82f6)}.auto-validation-name-row .expand-icon{color:#64748b;color:var(--color-textMuted,#64748b);flex-shrink:0;font-size:.7rem;width:14px}.auto-validation-name-row .auto-validation-name{color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-size:.9rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-validation-badge{background:#8b5cf61a;border-radius:4px;color:#7c3aed;flex-shrink:0;font-size:.7rem;padding:2px 8px;white-space:nowrap}.auto-validation-buttons{align-items:center;display:flex;gap:6px;justify-content:flex-end}.auto-validation-details{background:#fff;background:var(--color-cardBackground,#fff);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;flex-direction:column;gap:8px;padding:0 12px 12px 32px}.auto-validation-details .auto-validation-description{background:#f8fafc;background:var(--color-backgroundAlt,#f8fafc);border-radius:4px;margin-top:8px;padding:8px}.auto-validation-detail-row{align-items:flex-start;display:flex;gap:8px;margin-top:4px}.auto-validation-detail-row .detail-label{color:#64748b;color:var(--color-textMuted,#64748b);font-size:.75rem;font-weight:600;min-width:60px;padding-top:2px}.auto-validation-detail-row .detail-value{background:#3b82f614;border-radius:4px;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;font-size:.8rem;padding:2px 8px}.auto-validation-detail-row .detail-trigger{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.auto-validation-detail-row .trigger-name{color:#1e293b;color:var(--color-text,#1e293b);font-size:.8rem;font-weight:500}.auto-validation-detail-row .trigger-formula{background:#f8fafc;background:var(--color-backgroundAlt,#f8fafc);border-radius:4px;color:#64748b;color:var(--color-textMuted,#64748b);font-family:Fira Code,Consolas,monospace;font-size:.75rem;padding:4px 8px;word-break:break-all}.auto-validation-detail-row .trigger-missing{color:#f59e0b;color:var(--color-warning,#f59e0b);font-size:.8rem;font-style:italic}.auto-validation-detail-row .detail-value-with-label{align-items:center;display:flex;gap:6px}.auto-validation-detail-row .channel-label{color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;font-weight:500}.auto-validation-detail-row .param-code{background:none;color:#64748b;color:var(--color-textMuted,#64748b);font-family:Fira Code,Consolas,monospace;font-size:.7rem;padding:0}.param-mappings{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--color-border,#e2e8f0);flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:6px}.param-mapping{align-items:center;background:#f8fafc;background:var(--color-backgroundAlt,#f8fafc);border-radius:4px;display:inline-flex;font-size:.75rem;gap:4px;padding:2px 6px}.param-mapping code{background:none;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;padding:0}.param-mapping .channel-name{color:#1e293b;color:var(--color-text,#1e293b);font-weight:500}@media (max-width:768px){.validation-panel{width:100%}}.presence-indicator{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;display:flex;font-size:13px;gap:8px;padding:6px 12px}.presence-indicator.compact{background:#0000;border:none;padding:4px}.presence-label{white-space:nowrap}.presence-avatars{align-items:center;display:flex;margin-left:4px}.presence-avatar{align-items:center;background:#3b82f6;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;color:#fff;display:flex;font-size:11px;font-weight:600;height:28px;justify-content:center;margin-left:-8px;width:28px}.presence-avatar:first-child{margin-left:0}.presence-avatar.extra{background:#6b7280;font-size:10px}.presence-indicator.compact .presence-avatar{font-size:10px;height:24px;margin-left:-6px;width:24px}.presence-indicator.compact .presence-avatar:first-child{margin-left:0}@keyframes presence-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.presence-avatar.new{animation:presence-pulse .3s ease-out}.presence-indicator.solo{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.presence-indicator.solo .presence-avatar{margin-left:0}.presence-indicator.compact.solo{background:#0000;border:none}.presence-indicator[title]{cursor:default}.date-range-picker{display:inline-block;position:relative}.date-range-trigger{align-items:center;background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:.9rem;gap:.5rem;min-width:160px;padding:.5rem .75rem;transition:all .2s}.date-range-trigger:hover:not(:disabled){background:#3b82f60d;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.date-range-trigger:disabled{cursor:not-allowed;opacity:.6}.date-range-icon{font-size:1rem}.date-range-text{flex:1 1;font-weight:500;text-align:left}.date-range-chevron{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.7rem}.date-range-dropdown{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);box-shadow:0 4px 16px #0000001f;left:0;min-width:280px;overflow:hidden;position:absolute;top:calc(100% + 4px);z-index:1000}.date-range-tabs{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex}.date-range-tab{background:#0000;border:none;border-top:2px solid #0000;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.date-range-tab.active,.date-range-tab:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.date-range-tab.active{border-top:2px solid #3b82f6;border-top:2px solid var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6)}.date-range-presets{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.date-range-preset{align-items:center;background:#0000;border:none;border-radius:6px;color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;display:flex;font-size:.9rem;gap:1rem;justify-content:space-between;padding:.6rem 1rem;text-align:left;transition:all .15s}.date-range-preset:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.date-range-preset.active{background:#3b82f6;background:var(--color-primary,#3b82f6);color:#fff;font-weight:500}.date-range-preset.active .preset-range{color:#ffffffd9}.preset-label{flex:1 1}.preset-range{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.8rem;white-space:nowrap}.date-range-custom{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.date-range-field{display:flex;flex-direction:column;gap:.25rem}.date-range-field label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.8rem;font-weight:600}.date-range-field input{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;font-family:var(--font-primary);font-size:.9rem;padding:.5rem}.date-range-field input:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 2px #3b82f61a;outline:none}.date-range-error{background:#ef444414;border-radius:4px;color:#ef4444;color:var(--color-error,#ef4444);font-size:.8rem;padding:.4rem .5rem}.date-range-apply{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--color-primary,#3b82f6),var(--color-accent,#8b5cf6));border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:.5rem;padding:.6rem 1rem;transition:opacity .2s}.date-range-apply:hover{opacity:.9}.date-range-footer{background:#f8fafc;background:var(--color-background,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);padding:.5rem 1rem}.date-range-hint{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem}.download-progress-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.download-progress-modal{background:#fff;background:var(--bg-primary,#fff);border-radius:12px;box-shadow:0 20px 40px #0003;max-width:90%;width:380px}.download-progress-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:center;padding:16px 20px}.download-progress-title{align-items:center;color:#111827;color:var(--text-primary,#111827);display:flex;font-size:16px;font-weight:600;gap:10px}.download-progress-title svg{color:#3b82f6}.download-progress-content{padding:20px}.download-progress-bar-container{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.download-progress-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;height:100%;transition:width .3s ease}.download-progress-percent{color:#111827;color:var(--text-primary,#111827);font-size:24px;font-weight:700;margin-bottom:16px;text-align:center}.download-progress-stats{display:flex;flex-direction:column;gap:8px}.download-stat{align-items:center;background:#f9fafb;background:var(--bg-secondary,#f9fafb);border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.download-stat .stat-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:13px}.download-stat .stat-value{color:#111827;color:var(--text-primary,#111827);font-size:13px;font-weight:500}.download-stat.current-file .stat-value{font-family:monospace;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .download-progress-modal{background:#1f2937;background:var(--bg-primary,#1f2937)}:root[data-theme=dark] .download-progress-bar-container,:root[data-theme=dark] .download-stat{background:#374151;background:var(--bg-tertiary,#374151)}.measurement-grid-container{background-color:#f8fafc;background-color:var(--color-background,#f8fafc);display:flex;height:100%}.measurement-sidebar{background:#fff;background:var(--color-surface,#fff);border-right:none;flex-shrink:0;overflow-y:auto}.measurement-sidebar-resize{background:#e2e8f0;background:var(--color-border,#e2e8f0);cursor:col-resize;flex-shrink:0;transition:background .15s;width:4px}.measurement-sidebar-resize.active,.measurement-sidebar-resize:hover{background:#4a90d9}.measurement-main{display:grid;flex:1 1;grid-template-rows:auto 1fr auto;height:100%;overflow:hidden}.measurement-filter-bar{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);display:flex;flex-wrap:wrap;gap:.5rem;overflow:visible;padding:.5rem 1rem;transition:margin-right .25s ease-out}.measurement-main.with-validation-panel{margin-right:400px;transition:margin-right .25s ease-out}.filter-group{gap:.5rem}.filter-group label{display:block;font-size:.85rem;font-weight:600}.filter-group input[type=datetime-local],.filter-group label{color:#1e293b;color:var(--color-text,#1e293b);font-family:var(--font-primary)}.filter-group input[type=datetime-local]{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);font-size:.9rem;padding:.6rem 1rem;transition:border-color .2s;width:200px}.filter-group input[type=datetime-local]:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.period-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem}.period-shortcut-btn{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:5.33333px;border-radius:calc(var(--size-borderRadius, 8px)/1.5);color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;font-family:var(--font-primary);font-size:.75rem;font-weight:500;padding:.35rem .6rem;transition:all .2s;white-space:nowrap}.period-shortcut-btn:hover{background:#3b82f6;background:var(--color-primary,#3b82f6);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 2px 8px #3b82f633;color:#fff;transform:translateY(-1px)}.fetch-mode-buttons{background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:8px;border-radius:var(--size-borderRadius,8px);display:flex;gap:.5rem;padding:.25rem}.fetch-mode-btn{background:#0000;border:none;border-radius:6px;border-radius:calc(var(--size-borderRadius, 8px) - 2px);color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;font-family:var(--font-primary);font-size:.85rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s}.fetch-mode-btn.active{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));box-shadow:0 2px 8px #3b82f64d;color:#fff;font-weight:600}.fetch-mode-btn:hover:not(.active){background:#fff;background:var(--color-surface,#fff);color:#1e293b;color:var(--color-text,#1e293b)}.load-button{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.85rem;font-weight:600;height:34px;padding:0 1rem;transition:all .2s}.load-button:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.load-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.column-selector-button{align-items:center;background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.85rem;font-weight:500;height:34px;padding:0 .75rem;transition:all .2s;white-space:nowrap}.column-selector-button:hover{background:#3b82f60d;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);transform:translateY(-1px)}.raw-data-toggle-btn{align-items:center;background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;display:inline-flex;font-family:var(--font-primary);gap:.4rem;height:34px;padding:0 .5rem;transition:all .2s}.raw-data-toggle-btn:hover:not(:disabled){background:#3b82f60d;border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.raw-data-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.raw-data-toggle-btn .toggle-track{background-color:#cbd5e1;border-radius:10px;height:20px;position:relative;transition:background-color .2s;width:36px}.raw-data-toggle-btn .toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.raw-data-toggle-btn.active .toggle-track{background-color:#10b981}.raw-data-toggle-btn.active .toggle-thumb{transform:translateX(16px)}.raw-data-toggle-btn .toggle-text{color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;font-weight:500;white-space:nowrap}.unsynced-indicator{align-items:center;animation:pulse-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);box-shadow:0 2px 8px #f59e0b4d;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.85rem;font-weight:500;height:34px;padding:0 .75rem;transition:all .2s;white-space:nowrap}.unsynced-indicator:hover{animation:none;background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 4px 16px #f59e0b80;transform:translateY(-1px)}.unsynced-indicator:active{box-shadow:0 2px 8px #f59e0b66;transform:translateY(0)}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px #f59e0b4d}50%{box-shadow:0 4px 16px #f59e0b80}}.logger-breadcrumb{align-items:center;border-right:1px solid #e2e8f0;border-right:1px solid var(--color-border,#e2e8f0);color:#64748b;color:var(--color-textSecondary,#64748b);display:inline-flex;flex-shrink:0;font-size:.8rem;gap:.3rem;margin-right:.25rem;max-width:200px;padding-right:.75rem;white-space:nowrap}.logger-breadcrumb,.logger-breadcrumb-site{overflow:hidden;text-overflow:ellipsis}.logger-breadcrumb-sep{color:#cbd5e1;color:var(--color-border,#cbd5e1);flex-shrink:0}.logger-breadcrumb-code{color:#1e293b;color:var(--color-text,#1e293b);font-weight:600;overflow:hidden;text-overflow:ellipsis}.measurement-table-container{background:#fff;background:var(--color-cardBackground,#fff);box-sizing:border-box;flex:1 1;isolation:isolate;min-height:0;overflow:hidden}.measurement-status-bar{align-items:center;background:#f8fafc;background:var(--color-background,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);box-sizing:border-box;color:#64748b;color:var(--color-textSecondary,#64748b);display:flex;flex-shrink:0;font-family:var(--font-primary);font-size:.75rem;justify-content:space-between;min-height:32px;padding:.4rem 1rem}.status-left{align-items:center;display:flex;gap:1.5rem}.status-item{align-items:center;gap:.5rem}.status-label{color:#1e293b;color:var(--color-text,#1e293b);font-weight:600}.status-value{color:#3b82f6;color:var(--color-primary,#3b82f6);font-weight:500}.error-message{background:#ef44441a;border-left:4px solid #ef4444;border-left:4px solid var(--color-error,#ef4444);border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#ef4444;color:var(--color-error,#ef4444);font-family:var(--font-primary);margin:1rem;padding:1rem 1.5rem}@media (max-width:1024px){.measurement-grid-container{flex-direction:column}.measurement-sidebar{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);max-height:200px;width:100%!important}.measurement-sidebar-resize{display:none}.measurement-filter-bar{flex-wrap:wrap}.filter-group input[type=datetime-local]{width:100%}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;opacity:0;position:absolute;width:20px}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.wb-container{display:flex;flex-direction:column;height:100%;min-height:0}.wb-toolbar{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--rb-border,#e2e8f0);flex-shrink:0;font-size:13px;gap:10px;height:40px;padding:0 12px}.wb-toolbar,.wb-toolbar label{align-items:center;display:flex}.wb-toolbar label{color:#64748b;color:var(--rb-text-muted,#64748b);font-size:12px;gap:4px}.wb-toolbar input[type=date]{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:4px;color:#1e293b;color:var(--rb-text,#1e293b);font-size:12px;padding:2px 6px}.wb-toolbar-spacer{flex:1 1}.wb-toolbar button{align-items:center;background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:4px;color:#1e293b;color:var(--rb-text,#1e293b);cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 10px}.wb-toolbar button:hover{background:#f8fafc;background:var(--rb-surface-2,#f8fafc)}.wb-main-row{display:flex;flex:1 1;min-height:0;overflow:hidden}.wb-main-row--with-panel .wb-grid-area{flex:1 1;min-width:0}.wb-grid-area{flex:1 1;min-height:0;position:relative}.wb-right-panel{background:#fff;background:var(--rb-surface,#fff);border-left:1px solid #e2e8f0;border-left:1px solid var(--rb-border,#e2e8f0);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:280px}.wb-panel-section{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--rb-border,#e2e8f0);padding:10px}.wb-panel-section-title{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);font-size:10px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.wb-panel-form{display:flex;flex-direction:column;gap:6px}.wb-panel-form select{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:4px;color:#1e293b;color:var(--rb-text,#1e293b);font-size:12px;padding:4px 6px;width:100%}.wb-panel-layer-row{align-items:center;display:flex;flex-wrap:wrap;font-size:11px;gap:4px}.wb-panel-layer-btn,.wb-panel-layer-row{color:#64748b;color:var(--rb-text-muted,#64748b)}.wb-panel-layer-btn{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:3px;cursor:pointer;font-size:10px;padding:2px 6px}.wb-panel-layer-btn--active{background:#3b82f6;background:var(--rb-accent,#3b82f6);border-color:#3b82f6;border-color:var(--rb-accent,#3b82f6);color:#fff}.wb-panel-channels{margin-top:8px;max-height:200px;overflow-y:auto}.wb-panel-channel-item{border-radius:3px;cursor:pointer;display:flex;font-size:12px;justify-content:space-between;padding:4px 6px}.wb-panel-channel-item:hover{background:#f8fafc;background:var(--rb-surface-2,#f8fafc)}.wb-panel-channel-label{color:#1e293b;color:var(--rb-text,#1e293b)}.wb-panel-channel-unit{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);font-size:11px}.wb-panel-add-all-btn{background:#0000;border:1px solid #3b82f6;border:1px solid var(--rb-accent,#3b82f6);border-radius:4px;color:#3b82f6;color:var(--rb-accent,#3b82f6);cursor:pointer;font-size:11px;margin-top:6px;padding:4px;width:100%}.wb-panel-add-all-btn:hover{background:#3b82f6;background:var(--rb-accent,#3b82f6);color:#fff}.wb-panel-active-list{display:flex;flex-direction:column}.wb-panel-active-item{align-items:center;border-radius:3px;cursor:grab;display:flex;font-size:12px;gap:6px;padding:4px}.wb-panel-active-item:hover{background:#f8fafc;background:var(--rb-surface-2,#f8fafc)}.wb-panel-active-item--dragging{opacity:.4}.wb-panel-drag-handle{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);flex-shrink:0}.wb-panel-active-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.wb-panel-active-name{color:#1e293b;color:var(--rb-text,#1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-panel-active-meta{font-size:10px}.wb-panel-active-meta,.wb-panel-remove-btn{color:#94a3b8;color:var(--rb-text-faint,#94a3b8)}.wb-panel-remove-btn{align-items:center;background:none;border:none;border-radius:3px;cursor:pointer;display:flex;opacity:0;padding:2px;transition:opacity .1s}.wb-panel-active-item:hover .wb-panel-remove-btn{opacity:1}.wb-panel-remove-btn:hover{background:#ef44441a;color:#ef4444}.wb-panel-empty{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);font-size:12px;padding:16px 0;text-align:center}.wb-tab-bar{background:#f8fafc;background:var(--rb-surface-2,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--rb-border,#e2e8f0);flex-shrink:0;font-size:12px;height:32px;overflow:visible;position:relative;z-index:10}.wb-tab-bar,.wb-tab-bar-tabs{align-items:stretch;display:flex}.wb-tab-bar-tabs{overflow-x:auto}.wb-tab{align-items:center;border-right:1px solid #e2e8f0;border-right:1px solid var(--rb-border,#e2e8f0);color:#64748b;color:var(--rb-text-muted,#64748b);cursor:pointer;display:flex;padding:0 14px;transition:background .1s,color .1s;-webkit-user-select:none;user-select:none;white-space:nowrap}.wb-tab--active,.wb-tab:hover{background:#fff;background:var(--rb-surface,#fff);color:#1e293b;color:var(--rb-text,#1e293b)}.wb-tab--active{border-bottom:2px solid #3b82f6;border-bottom:2px solid var(--rb-accent,#3b82f6);font-weight:500}.wb-tab-add{align-items:center;color:#94a3b8;color:var(--rb-text-faint,#94a3b8);cursor:pointer;display:flex;font-size:16px;padding:0 10px}.wb-tab-add:hover,.wb-tab-rename-input{color:#1e293b;color:var(--rb-text,#1e293b)}.wb-tab-rename-input{background:#0000;border:1px solid #3b82f6;border:1px solid var(--rb-accent,#3b82f6);border-radius:2px;font-size:12px;outline:none;padding:1px 4px;width:100px}.wb-tab-add-menu{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:140px;padding:4px 0;z-index:9999}.wb-tab-add-menu-item{color:#1e293b;color:var(--rb-text,#1e293b);cursor:pointer;font-size:12px;padding:6px 12px;white-space:nowrap}.wb-tab-add-menu-item:hover{background:#f1f5f9;background:var(--rb-surface-hover,#f1f5f9)}.wb-panel-stat-add{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:3px;color:#94a3b8;color:var(--rb-text-faint,#94a3b8);cursor:pointer;font-size:11px;margin-top:4px;padding:4px 6px;width:100%}.wb-panel-config{display:flex;flex-direction:column;gap:6px;padding:4px 0}.wb-panel-config-row{align-items:center;display:flex;font-size:11px;gap:8px;justify-content:space-between}.wb-panel-config-label{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);flex-shrink:0;min-width:80px}.wb-panel-config-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-panel-config-input,.wb-panel-config-value{color:#1e293b;color:var(--rb-text,#1e293b);text-align:right}.wb-panel-config-input{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:3px;font-size:11px;padding:2px 4px;width:80px}.wb-panel-config-input:focus{border-color:#3b82f6;border-color:var(--rb-accent,#3b82f6);outline:none}.wb-panel-apply-btn{align-self:flex-end;background:#3b82f6;background:var(--rb-accent,#3b82f6);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;margin-top:4px;padding:4px 12px}.wb-panel-apply-btn:hover{opacity:.9}.wb-status-bar{align-items:center;background:#f8fafc;background:var(--rb-surface-2,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--rb-border,#e2e8f0);display:flex;flex-shrink:0;gap:4px;padding:0 12px}.wb-status-bar span{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);font-size:11px}.wb-status-chart-btn{background:none;border:1px solid #0000;border-radius:3px;cursor:pointer;font-size:11px;font-weight:500;line-height:1;opacity:.5;padding:0 6px;transition:opacity .15s}.wb-status-chart-btn:hover{opacity:1}.wb-status-chart-btn.active{background:#e0e7ff;background:var(--rb-accent-light,#e0e7ff);border-color:#4f46e5;border-color:var(--rb-accent,#4f46e5);opacity:1}.wb-header-combobox{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:6px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;max-height:400px;position:absolute;width:520px;z-index:200}.wb-header-combobox input{background:#0000;border:none;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--rb-border,#e2e8f0);color:#1e293b;color:var(--rb-text,#1e293b);font-size:13px;outline:none;padding:8px 10px}.wb-header-combobox-list{flex:1 1;max-height:300px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.wb-header-combobox-colheader{background:#fff;background:var(--rb-surface,#fff);color:#94a3b8;color:var(--rb-text-faint,#94a3b8);font-size:10px;font-weight:600;letter-spacing:.04em;padding:4px 10px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.wb-header-combobox-colheader,.wb-header-combobox-item{grid-gap:6px;align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--rb-border,#e2e8f0);display:grid;gap:6px;grid-template-columns:1fr 80px 100px 60px 56px}.wb-header-combobox-item{cursor:pointer;font-size:12px;padding:5px 10px}.wb-header-combobox-item--highlight,.wb-header-combobox-item:hover{background:#f8fafc;background:var(--rb-surface-2,#f8fafc)}.wb-header-combobox-item--highlight{outline:1px solid #3b82f6;outline:1px solid var(--rb-accent,#3b82f6);outline-offset:-1px}.wb-header-combobox-col-channel{color:#1e293b;color:var(--rb-text,#1e293b);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-header-combobox-col-interval,.wb-header-combobox-col-logger,.wb-header-combobox-col-site{color:#64748b;color:var(--rb-text-muted,#64748b);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-header-combobox-empty{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);font-size:12px;padding:12px 10px;text-align:center}.wb-cc-tag{background:#8b5cf6}.wb-cc-tag,.wb-fn-tag{border-radius:3px;color:#fff;display:inline-block;font-size:9px;font-weight:600;margin-right:4px;padding:1px 4px;vertical-align:middle}.wb-fn-tag{background:#0d9488}.wb-header-combobox-func-hint{background:#3b82f60f;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--rb-border,#e2e8f0);color:#3b82f6;color:var(--rb-accent,#3b82f6);font-size:11px;padding:4px 10px}.wb-pinned-chip{align-items:center;border-radius:3px;display:inline-flex;flex-shrink:0;font-size:11px;padding:2px 6px;white-space:nowrap}.wb-bulk-add-btn,.wb-pinned-chip{background:#3b82f6;background:var(--rb-accent,#3b82f6);color:#fff;cursor:pointer;font-weight:500}.wb-bulk-add-btn{border:none;border-radius:3px;font-size:10px;padding:1px 6px}.wb-bulk-add-btn:hover{opacity:.85}.wb-context-menu{background:#fff;background:var(--rb-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--rb-border,#e2e8f0);border-radius:6px;box-shadow:0 4px 16px #0000001f;min-width:160px;padding:4px 0;position:absolute;z-index:210}.wb-context-menu-item{color:#1e293b;color:var(--rb-text,#1e293b);cursor:pointer;font-size:13px;padding:6px 14px}.wb-context-menu-item:hover{background:#f8fafc;background:var(--rb-surface-2,#f8fafc)}.wb-context-menu-item--disabled{color:#94a3b8;color:var(--rb-text-faint,#94a3b8);cursor:default}.wb-context-menu-item--disabled:hover{background:#0000}.wb-context-menu-item--danger{color:#ef4444}.wb-context-menu-sep{background:#e2e8f0;background:var(--rb-border,#e2e8f0);height:1px;margin:4px 0}.wb-empty-state{align-items:center;color:#94a3b8;color:var(--rb-text-faint,#94a3b8);display:flex;font-size:14px;height:100%;justify-content:center;line-height:1.6;text-align:center}.wb-container[data-theme=dark]{--rb-surface:#1e1e2e;--rb-surface-2:#181825;--rb-border:#313244;--rb-text:#cdd6f4;--rb-text-muted:#a6adc8;--rb-text-faint:#6c7086;--rb-accent:#89b4fa}.wb-container[data-theme=dark] .wb-header-combobox{box-shadow:0 4px 16px #0006}.rb-page{--rb-bg:#f6f8fa;--rb-surface:#fff;--rb-surface-2:#f6f8fa;--rb-border:#d0d7de;--rb-border-strong:#8c959f;--rb-text:#24292f;--rb-text-muted:#57606a;--rb-text-faint:#8c959f;--rb-accent:#0969da;--rb-accent-subtle:#ddf4ff;--rb-accent-text:#0550ae;--rb-green:#1a7f37;--rb-green-bg:#dafbe1;--rb-green-border:#74c491;--rb-red:#d1242f;--rb-red-bg:#ffebe9;--rb-red-border:#ff8182;--rb-orange:#bc4c00;--rb-table-left:#0969da;--rb-chart-left:#1a7f37;--rb-block-bg:#fff;--rb-block-header-bg:#f6f8fa;--rb-input-bg:#fff;--rb-guide-color:#0969da8c;--rb-grid-dot:#0969da47;--rb-badge-bg:#ddf4ff;--rb-badge-text:#0550ae;--rb-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;background:var(--rb-bg);color:var(--rb-text);display:flex;font-family:inherit;font-size:13px;height:100%;min-height:0}.rb-page[data-theme=dark]{--rb-bg:#0d1117;--rb-surface:#161b22;--rb-surface-2:#0d1117;--rb-border:#21262d;--rb-border-strong:#484f58;--rb-text:#c9d1d9;--rb-text-muted:#8b949e;--rb-text-faint:#6e7681;--rb-accent:#58a6ff;--rb-accent-subtle:#1c3557;--rb-accent-text:#58a6ff;--rb-green:#3fb950;--rb-green-bg:#1a4025;--rb-green-border:#2ea043;--rb-red:#f85149;--rb-red-bg:#2d1b20;--rb-red-border:#5a1a1a;--rb-orange:#f0883e;--rb-table-left:#1f4280;--rb-chart-left:#1a4025;--rb-block-bg:#161b22;--rb-block-header-bg:#0d1117;--rb-input-bg:#0d1117;--rb-guide-color:#58a6ff8c;--rb-grid-dot:#58a6ff38;--rb-badge-bg:#1f3557;--rb-badge-text:#58a6ff;--rb-shadow:0 2px 8px #0006}.rb-loading-page{align-items:center;background:var(--rb-bg);color:var(--rb-text-muted);display:flex;height:100%;justify-content:center}.rb-sidebar{background:var(--rb-surface-2);border-right:1px solid var(--rb-border);display:flex;flex-direction:column;flex-shrink:0;min-width:180px;width:230px}.rb-sidebar-header{align-items:center;background:var(--rb-surface);border-bottom:1px solid var(--rb-border);display:flex;justify-content:space-between;padding:10px 12px 9px}.rb-sidebar-title{color:var(--rb-text);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.rb-sidebar-list{flex:1 1;overflow-y:auto;padding:4px 0}.rb-sidebar-empty{color:var(--rb-text-faint);font-size:12px;line-height:1.5;padding:18px 14px}.rb-sidebar-item{border-left:3px solid #0000;cursor:pointer;padding:7px 12px;transition:background .1s}.rb-sidebar-item--active,.rb-sidebar-item:hover{background:var(--rb-surface)}.rb-sidebar-item--active{border-left-color:var(--rb-accent)}.rb-sidebar-item-inner{align-items:center;display:flex;gap:6px}.rb-sidebar-item-name{color:var(--rb-text);flex:1 1;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-sidebar-item-meta{color:var(--rb-text-faint);font-size:11px;margin-top:2px}.rb-badge{background:var(--rb-badge-bg);border-radius:10px;color:var(--rb-badge-text);flex-shrink:0;font-size:10px;font-weight:600;padding:1px 5px;white-space:nowrap}.rb-main{background:var(--rb-bg);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.rb-error-banner{align-items:center;background:var(--rb-red-bg);border-bottom:1px solid var(--rb-red-border);color:var(--rb-red);display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:8px 16px}.rb-error-banner button{background:none;border:none;color:var(--rb-red);cursor:pointer;font-size:14px;opacity:.8;padding:0 4px}.rb-no-report{align-items:center;color:var(--rb-text-muted);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.rb-no-report-icon{font-size:40px;opacity:.4}.rb-no-report p{font-size:13px;margin:0}.rb-report-header{align-items:center;background:var(--rb-surface);border-bottom:1px solid var(--rb-border);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:9px 18px}.rb-report-title-area{display:flex;flex-direction:column;gap:3px;min-width:0}.rb-report-name{align-items:center;border-radius:4px;color:var(--rb-text);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:6px;margin:0 0 0 -5px;padding:2px 5px;transition:background .1s}.rb-report-name:hover{background:var(--rb-surface-2)}.rb-dirty-dot{color:var(--rb-orange);font-size:10px;margin-left:2px}.rb-report-meta-row{align-items:center;display:flex;gap:8px;padding-left:5px}.rb-site-select{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:4px;color:var(--rb-text-muted);cursor:pointer;font-family:inherit;font-size:11px;max-width:160px;outline:none;padding:2px 6px}.rb-site-select:focus{border-color:var(--rb-accent);color:var(--rb-text)}.rb-report-meta{color:var(--rb-text-faint);font-size:11px}.rb-name-edit{align-items:center;display:flex;gap:6px}.rb-name-edit input{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:4px;color:var(--rb-text);font-family:inherit;font-size:13px;outline:none;padding:3px 8px;width:220px}.rb-name-edit input:focus{border-color:var(--rb-accent)}.rb-report-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.rb-canvas-outer,.rb-editor-row{display:flex;flex:1 1;min-height:0;overflow:hidden}.rb-canvas-outer{flex-direction:column}.rb-canvas-wrap{flex:1 1;min-height:0;overflow:auto}.rb-canvas-bleed{align-items:flex-start;display:flex;justify-content:center;min-width:1800px;padding:60px 0}.rb-page-frame{flex-shrink:0;overflow:visible!important}.rb-guides-overlay{left:0;right:0;z-index:10}.rb-guide-center,.rb-guides-overlay{bottom:0;pointer-events:none;position:absolute;top:0}.rb-guide-center{border-left:1px dashed var(--rb-guide-color);left:50%;transform:translateX(-.5px);width:0}.rb-guide-hline{border-top:2px solid var(--rb-guide-color);filter:drop-shadow(0 1px 2px var(--rb-guide-color));height:0;left:0;position:absolute;right:0}.rb-guide-hline--margin{border-top:1px dashed var(--rb-guide-color);filter:none;opacity:.6}.rb-guide-vline{border-left:1px dashed var(--rb-guide-color);bottom:0;opacity:.6;pointer-events:none;position:absolute;top:0;width:0}.rb-guide-label{background:var(--rb-accent-subtle);border:1px solid var(--rb-guide-color);border-radius:8px;color:var(--rb-accent-text);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.5;padding:1px 6px;position:absolute;right:8px;top:3px;-webkit-user-select:none;user-select:none;white-space:nowrap}.rb-canvas-toolbar{align-items:center;background:var(--rb-bg);border-bottom:1px solid var(--rb-border);display:flex;flex-shrink:0;gap:8px;padding:8px 0;position:relative;z-index:30}.rb-zoom-controls{align-items:center;display:flex;gap:2px}.rb-zoom-pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:46px;text-align:center}.rb-canvas-empty{align-items:center;border:2px dashed var(--rb-border);border-radius:8px;color:var(--rb-text-faint);display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:220px;padding:40px;text-align:center}.rb-canvas-empty-icon{font-size:34px;margin-bottom:4px;opacity:.35}.rb-canvas-empty p{font-size:13px;margin:0}.rb-canvas-empty-prompt{align-items:center;color:var(--rb-text-faint);cursor:text;display:flex;font-size:14px;inset:0;justify-content:center;pointer-events:auto;position:absolute;-webkit-user-select:none;user-select:none}.rb-canvas-empty-prompt:hover{color:var(--rb-text-muted)}.rb-page-frame{background-color:var(--rb-block-bg);border-radius:2px;box-shadow:0 0 0 2px var(--rb-border-strong),0 4px 16px #0000001f;margin:0 auto}.rb-grid{background:#0000}.rb-config-panel{background:var(--rb-surface);border-left:1px solid var(--rb-border);display:flex;flex-direction:column;flex-shrink:0;min-width:300px;overflow:hidden;resize:horizontal;width:340px}.rb-config-panel-header{align-items:center;background:var(--rb-surface-2);border-bottom:1px solid var(--rb-border);display:flex;flex-shrink:0;gap:8px;padding:9px 12px}.rb-config-panel-title{color:var(--rb-text);flex:1 1;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rb-config-panel-body{display:flex;flex:1 1;flex-direction:column;gap:11px;overflow-y:auto;padding:12px}.rb-config-panel-footer{align-items:center;background:var(--rb-surface-2);border-top:1px solid var(--rb-border);display:flex;flex-shrink:0;gap:8px;padding:9px 12px}.rb-config-autosave-hint{color:var(--rb-text-faint);flex:1 1;font-size:10px;font-style:italic}.rb-btn-split{color:var(--rb-accent)!important;opacity:.85}.rb-btn-split:hover{opacity:1}.rb-toggle-row{align-items:center;color:var(--rb-text-muted);cursor:pointer;display:flex;flex:1 1;font-size:12px;gap:6px}.rb-toggle-row input[type=checkbox]{cursor:pointer;margin:0}.rb-add-block-wrap{position:relative}.rb-btn-add-block{background:var(--rb-surface);border:1px solid var(--rb-border);border-radius:5px;color:var(--rb-text);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:5px 12px;transition:background .1s,border-color .1s}.rb-btn-add-block:hover{background:var(--rb-surface-2);border-color:var(--rb-border-strong)}.rb-add-block-menu{background:var(--rb-surface);border:1px solid var(--rb-border);border-radius:6px;box-shadow:var(--rb-shadow);left:0;min-width:220px;padding:4px;position:absolute;top:calc(100% + 6px);z-index:200}.rb-add-block-item{align-items:flex-start;background:none;border:none;border-radius:4px;color:var(--rb-text);cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:8px 10px;text-align:left;transition:background .1s;width:100%}.rb-add-block-item:hover{background:var(--rb-surface-2)}.rb-add-icon{flex-shrink:0;font-size:17px;line-height:1;padding-top:1px}.rb-add-block-item--table .rb-add-icon{color:var(--rb-accent)}.rb-add-block-item--chart .rb-add-icon{color:var(--rb-green)}.rb-add-block-item--text .rb-add-icon{color:var(--rb-text-faint)}.rb-add-item-label{color:var(--rb-text);font-size:12px;font-weight:600}.rb-add-item-desc{color:var(--rb-text-faint);font-size:11px;margin-top:1px}.rb-block,.rb-rgl-cell{display:flex;flex-direction:column;height:100%}.rb-block{background:var(--rb-block-bg);border:1px solid var(--rb-border);border-radius:6px;box-shadow:var(--rb-shadow);overflow:hidden}.rb-block--table{border-left:3px solid var(--rb-table-left)}.rb-block--chart{border-left:3px solid var(--rb-chart-left)}.rb-block--overflow,.rb-block--overflow .rb-block-body,.rb-block--overflow .rb-text-body,.rb-block--overflow .rb-text-input,.rb-block--overflow .rb-text-resolved{overflow:visible!important}.rb-block--text{background:#0000;border:1px solid #0000;box-shadow:none;overflow:hidden;position:relative;transition:border-color .12s}.rb-block--text:focus-within{border-color:var(--rb-border);border-radius:4px}.rb-block--text.rb-block--text-cfg{border-color:var(--rb-accent);border-radius:4px}.rb-text-float-actions{align-items:center;background:var(--rb-surface);border:1px solid var(--rb-border);border-radius:4px;display:none;gap:2px;padding:1px 2px;position:absolute;right:4px;top:4px;z-index:10}.rb-block--text:hover .rb-text-float-actions{display:flex}.rb-block-header{align-items:center;background:var(--rb-block-header-bg);border-bottom:1px solid var(--rb-border);display:flex;flex-shrink:0;gap:7px;min-height:32px;padding:6px 9px}.rb-block-header--editing{background:var(--rb-accent-subtle)}.rb-block-type-icon{flex-shrink:0;font-size:12px;opacity:.75}.rb-block-type-icon--table{color:var(--rb-accent)}.rb-block-type-icon--chart{color:var(--rb-green)}.rb-block-type-icon--text{color:var(--rb-text-faint)}.rb-block-title{color:var(--rb-text);cursor:move;flex:1 1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.rb-block-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.rb-block-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto;padding:0}.rb-block--chart .rb-block-body{padding:6px 4px 4px}.rb-text-body{display:flex;flex:1 1;min-height:0;overflow:hidden;padding:0}.rb-text-input{background:#0000;border:none;box-sizing:border-box;color:var(--rb-text);display:block;font-family:inherit;font-size:13px;height:100%;line-height:1.6;outline:none;overflow:auto;padding:10px 12px;resize:none;width:100%}.rb-text-input::placeholder{color:var(--rb-text-faint);font-style:italic}.rb-text-input:focus{background:#8080800a}.rb-text-resolved{box-sizing:border-box;height:100%;line-height:1.6;overflow:auto;padding:8px 10px;width:100%}.rb-table-wrap{flex:1 1;overflow:auto}.rb-table{border-collapse:collapse;font-size:12px;width:100%}.rb-table th{background:var(--rb-block-header-bg);border-bottom:1px solid var(--rb-border);color:var(--rb-text-muted);font-size:11px;font-weight:600;padding:5px 10px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:1}.rb-th-agg{color:var(--rb-text-faint);font-size:10px;font-weight:400;margin-left:2px}.rb-table td{border-bottom:1px solid var(--rb-border);padding:4px 10px;white-space:nowrap}.rb-td-date{color:var(--rb-text-muted);font-size:11px}.rb-td-date,.rb-td-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rb-td-num{color:var(--rb-text);text-align:right}.rb-table tr:nth-child(2n) td{background:#80808008}.rb-table tr:hover td{background:var(--rb-surface-2)}.rb-table td.rb-null{color:var(--rb-text-faint);text-align:right}.rb-loading{color:var(--rb-text-muted);font-size:12px;padding:20px;text-align:center}.rb-error{color:var(--rb-red);font-size:12px;padding:10px 12px}.rb-empty{align-items:center;color:var(--rb-text-muted);display:flex;flex:1 1;flex-direction:column;font-size:12px;gap:10px;justify-content:center;min-height:80px;padding:20px;text-align:center}.rb-btn-primary{background:var(--rb-green);border:1px solid var(--rb-green-border);border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:5px 12px;transition:opacity .1s}.rb-btn-primary:hover:not(:disabled){opacity:.85}.rb-btn-primary:disabled{cursor:default;opacity:.4}.rb-btn-secondary{background:var(--rb-surface-2);border:1px solid var(--rb-border);border-radius:5px;color:var(--rb-text);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:5px 12px;transition:background .1s,border-color .1s}.rb-btn-secondary:hover:not(:disabled){background:var(--rb-surface);border-color:var(--rb-border-strong)}.rb-btn-secondary:disabled{cursor:default;opacity:.4}.rb-btn-template-active{background:var(--rb-accent-subtle);border-color:var(--rb-accent);color:var(--rb-accent-text)}.rb-btn-danger{background:var(--rb-red-bg);border:1px solid var(--rb-red-border);border-radius:5px;color:var(--rb-red);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:5px 12px;transition:opacity .1s}.rb-btn-danger:hover{opacity:.8}.rb-btn-sm{font-size:11px;padding:3px 9px}.rb-btn-icon{background:none;border:none;border-radius:3px;color:var(--rb-text-faint);cursor:pointer;font-family:inherit;font-size:12px;line-height:1;padding:3px 5px;transition:color .1s,background .1s}.rb-btn-icon:hover{background:var(--rb-surface-2);color:var(--rb-text)}.rb-btn-icon--active{background:var(--rb-accent-subtle);color:var(--rb-accent)}.rb-btn-active{background:var(--rb-accent-subtle);border-color:var(--rb-accent)!important;color:var(--rb-accent-text)}.rb-btn-danger-icon{background:none;border:none;border-radius:3px;color:var(--rb-text-faint);cursor:pointer;font-family:inherit;font-size:12px;line-height:1;padding:3px 5px;transition:color .1s,background .1s}.rb-btn-danger-icon:hover{background:var(--rb-red-bg);color:var(--rb-red)}.rb-field{display:flex;flex-direction:column;gap:4px}.rb-field>span{color:var(--rb-text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.rb-field input,.rb-field select,.rb-field textarea{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:4px;color:var(--rb-text);font-family:inherit;font-size:12px;outline:none;padding:5px 8px;transition:border-color .1s}.rb-field input:focus,.rb-field select:focus,.rb-field textarea:focus{border-color:var(--rb-accent)}.rb-field textarea{min-height:90px;resize:vertical}.rb-field-row{display:flex;gap:8px}.rb-field-row .rb-field{flex:1 1}.rb-stream-picker{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:4px;overflow:hidden}.rb-stream-filters{border-bottom:1px solid var(--rb-border);display:flex}.rb-stream-search{background:var(--rb-input-bg);border:none;border-right:1px solid var(--rb-border);color:var(--rb-text);flex:1 1;font-family:inherit;font-size:12px;min-width:0;outline:none;padding:6px 9px}.rb-stream-search:focus{border-right-color:var(--rb-accent)}.rb-stream-interval-filter{background:var(--rb-input-bg);border:none;color:var(--rb-text-muted);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:11px;max-width:110px;outline:none;padding:4px 7px}.rb-stream-interval-filter:focus{color:var(--rb-text)}.rb-stream-list{height:220px;max-height:600px;min-height:80px;overflow-y:auto;resize:vertical}.rb-stream-selected-bar{align-items:center;background:var(--rb-accent-subtle);border-bottom:1px solid var(--rb-border);color:var(--rb-accent-text);display:flex;font-size:11px;justify-content:space-between;padding:4px 9px}.rb-stream-clear-btn{background:none;border:none;color:var(--rb-accent);cursor:pointer;font-family:inherit;font-size:11px;padding:0;text-decoration:underline}.rb-stream-clear-btn:hover{opacity:.75}.rb-stream-logger-header{align-items:center;background:var(--rb-surface-2);border-bottom:1px solid var(--rb-border);display:flex;gap:5px;padding:4px 9px 3px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.rb-stream-logger-site{color:var(--rb-text-muted);flex:1 1;font-size:10px;font-weight:700;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.rb-stream-logger-code{background:var(--rb-surface);font-weight:600;padding:1px 5px}.rb-stream-logger-code,.rb-stream-sel-all{border:1px solid var(--rb-border);border-radius:3px;color:var(--rb-text-faint);flex-shrink:0;font-size:10px}.rb-stream-sel-all{background:none;cursor:pointer;font-family:inherit;padding:1px 6px;transition:background .1s,color .1s,border-color .1s}.rb-stream-sel-all:hover{border-color:var(--rb-accent);color:var(--rb-accent)}.rb-stream-sel-all--active{background:var(--rb-accent-subtle);border-color:var(--rb-accent);color:var(--rb-accent-text)}.rb-stream-sel-all--partial{border-color:var(--rb-border-strong)}.rb-stream-sel-all--partial,.rb-stream-site-name{background:var(--rb-surface-2);color:var(--rb-text-muted)}.rb-stream-site-name{border-bottom:1px solid var(--rb-border);font-size:10px;font-weight:700;letter-spacing:.05em;padding:4px 9px 3px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.rb-stream-item{align-items:center;cursor:pointer;display:flex;gap:7px;padding:4px 9px;transition:background .1s}.rb-stream-item:hover{background:var(--rb-surface-2)}.rb-stream-item input[type=checkbox]{accent-color:var(--rb-accent);cursor:pointer;flex-shrink:0;height:13px;width:13px}.rb-stream-label{color:var(--rb-text);flex:1 1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-stream-interval{color:var(--rb-text-faint);flex-shrink:0;font-size:10px}.rb-stream-empty{color:var(--rb-text-faint);font-size:12px;padding:14px 9px;text-align:center}.rb-notion-doc{display:flex;flex-direction:column}.rb-notion-block{align-items:flex-start;display:flex;gap:6px;position:relative}.rb-notion-handles{display:flex;flex-direction:column;flex-shrink:0;gap:2px;opacity:0;padding-top:8px;transition:opacity .15s}.rb-notion-block:hover .rb-notion-handles{opacity:1}.rb-handle-btn{color:var(--rb-text-faint);font-size:11px;line-height:1;padding:1px 4px}.rb-handle-btn:disabled{cursor:default;opacity:.25}.rb-notion-block-inner{flex:1 1;margin-bottom:10px;min-width:0}.rb-notion-block-inner .rb-block--chart .rb-block-body{min-height:280px}.rb-notion-block-inner .rb-block--table .rb-block-body{max-height:400px;min-height:140px}.rb-notion-block-inner .rb-block--text .rb-block-body{height:auto;overflow:visible;padding:0}.rb-insert-between{align-items:center;display:flex;height:14px;margin-bottom:4px;opacity:0;position:relative;transition:opacity .15s}.rb-insert-between--open,.rb-insert-between:hover{opacity:1}.rb-notion-doc:hover .rb-insert-between{opacity:.4}.rb-notion-doc:hover .rb-insert-between--open,.rb-notion-doc:hover .rb-insert-between:hover{opacity:1}.rb-insert-btn{align-items:center;background:var(--rb-surface);border:1px solid var(--rb-border);border-radius:50%;color:var(--rb-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:13px;height:20px;justify-content:center;line-height:1;margin-left:26px;transition:background .1s,color .1s;width:20px}.rb-insert-btn:hover{background:var(--rb-accent);border-color:var(--rb-accent);color:#fff}.rb-insert-menu{background:var(--rb-surface);border:1px solid var(--rb-border);border-radius:6px;box-shadow:var(--rb-shadow);left:50px;min-width:220px;padding:4px;position:absolute;top:-4px;z-index:200}.rb-slash-item{align-items:flex-start;background:none;border:none;border-radius:4px;color:var(--rb-text);cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:7px 10px;text-align:left;transition:background .1s;width:100%}.rb-slash-item:hover{background:var(--rb-surface-2)}.rb-slash-icon{color:var(--rb-text-muted);flex-shrink:0;font-size:16px;padding-top:1px}.rb-slash-label{color:var(--rb-text);font-size:12px;font-weight:600}.rb-slash-desc{color:var(--rb-text-faint);font-size:11px;margin-top:1px}.rb-align-btns{display:flex;gap:1px}.rb-align-btn{font-size:10px;padding:2px 4px}.rb-margin-popover{background:var(--rb-surface);border:1px solid var(--rb-border);border-radius:6px;box-shadow:var(--rb-shadow);left:0;min-width:180px;padding:10px 12px;position:absolute;top:calc(100% + 6px);z-index:200}.rb-margin-title{color:var(--rb-text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.rb-margin-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.rb-margin-field{align-items:center;color:var(--rb-text-muted);display:flex;font-size:11px;gap:4px}.rb-margin-field span:first-child{flex-shrink:0;font-weight:700;width:14px}.rb-margin-field input{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:3px;color:var(--rb-text);font-family:inherit;font-size:11px;outline:none;padding:2px 5px;width:46px}.rb-margin-field input:focus{border-color:var(--rb-accent)}.rb-margin-field span:last-child{color:var(--rb-text-faint);font-size:10px}.rb-doc-spacer{cursor:text;flex:1 1;min-height:120px}.rb-config-placeholder{align-items:center;color:var(--rb-text-faint);display:flex;flex:1 1;flex-direction:column;font-size:12px;gap:8px;justify-content:center;padding:32px 16px;text-align:center}.rb-config-placeholder-icon{font-size:28px;opacity:.35}.rb-config-placeholder p{line-height:1.5;margin:0}.rb-field--color .rb-color-row{align-items:center;display:flex;gap:4px}.rb-color-input{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:4px;cursor:pointer;height:28px;padding:2px 3px;width:36px}.rb-block--image{align-items:center;background:#0000;border:1px solid #0000;box-shadow:none;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative;transition:border-color .12s}.rb-block--image:hover{border-color:var(--rb-border);border-radius:4px}.rb-block--image.rb-block--image-cfg{border-color:var(--rb-accent);border-radius:4px}.rb-block--image:hover .rb-text-float-actions{display:flex}.rb-image-img{cursor:pointer;height:100%;object-fit:contain;width:100%}.rb-drag-handle{cursor:grab!important}.rb-drag-handle:active{cursor:grabbing!important}.rb-drag-grip{color:var(--rb-text-faint);font-size:14px;line-height:1;padding:0 2px;-webkit-user-select:none;user-select:none}.rb-add-block-item--image .rb-add-icon{color:var(--rb-orange)}.rb-image-wrap{padding:8px;position:relative}.rb-image-img{border-radius:3px;display:block;max-width:100%}.rb-image-change-btn{margin-top:6px}.rb-image-drop{align-items:center;border:2px dashed var(--rb-border);border-radius:4px;color:var(--rb-text-faint);cursor:pointer;display:flex;flex-direction:column;font-size:13px;gap:6px;justify-content:center;margin:8px;min-height:120px;padding:24px;transition:background .1s,border-color .1s}.rb-image-drop:hover{background:var(--rb-surface-2);border-color:var(--rb-accent)}.rb-image-drop-icon{font-size:28px;opacity:.5}.rb-image-drop-hint{color:var(--rb-text-faint);font-size:11px}.rb-toolbar-sep{background:var(--rb-border);flex-shrink:0;height:18px;width:1px}.rb-orientation-select{background:var(--rb-input-bg);border:1px solid var(--rb-border);border-radius:4px;color:var(--rb-text-muted);cursor:pointer;font-family:inherit;font-size:11px;outline:none;padding:2px 7px}.rb-orientation-select:focus{border-color:var(--rb-accent);color:var(--rb-text)}.rb-text-print{display:none}@media print{.rb-block-actions,.rb-canvas-toolbar,.rb-config-panel,.rb-doc-spacer,.rb-error-banner,.rb-guides-overlay,.rb-insert-between,.rb-notion-handles,.rb-report-header,.rb-sidebar,.rb-text-float-actions{display:none!important}.rb-canvas-bleed,.rb-canvas-outer,.rb-canvas-wrap,.rb-editor-row,.rb-main,.rb-page{display:block!important;height:auto!important;max-height:none!important;min-width:0!important;overflow:visible!important;padding:0!important;width:100%!important}.rb-page-frame{background:#fff!important;box-shadow:none!important;margin:0!important;min-height:0!important;padding:0!important;transform:none!important;width:100%!important}.rb-notion-block{display:block!important}.rb-notion-block-inner{width:100%!important}.rb-block--chart,.rb-block--image,.rb-block--table{border:1px solid #ccc!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.rb-block--text{border:none!important;box-shadow:none!important;break-inside:auto;page-break-inside:auto}.rb-block--text .rb-block-header,.rb-text-input{display:none!important}.rb-text-print{display:block!important;line-height:1.6;padding:0;white-space:pre-wrap;word-break:break-word}.rb-print-header{border-bottom:1px solid #ccc;color:#333;padding-bottom:4px;top:0}.rb-print-footer,.rb-print-header{display:flex!important;font-size:8pt;justify-content:space-between;left:0;position:fixed;right:0}.rb-print-footer{border-top:1px solid #ccc;bottom:0;color:#666;padding-top:4px}}.ai-chat-container{background:#fff;background:var(--bg-primary,#fff);display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0 auto;max-width:1200px;padding:20px}.chat-header{align-items:center;border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.chat-header h2{color:#333;color:var(--text-primary,#333);margin:0}.chat-controls{align-items:center;display:flex;gap:10px}.webhook-input{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;color:#333;color:var(--text-primary,#333);font-size:13px;padding:8px 12px;width:300px}.clear-btn{background:#dc3545;background:var(--danger-color,#dc3545);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.clear-btn:hover{background:#c82333;background:var(--danger-hover,#c82333)}.chat-messages{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-radius:8px;flex:1 1;min-height:0;overflow-y:auto;padding:20px}.welcome-message{color:#666;color:var(--text-secondary,#666);padding:40px 20px;text-align:center}.welcome-message h3{color:#333;color:var(--text-primary,#333);margin-bottom:20px}.welcome-message ul{display:inline-block;margin-top:15px;text-align:left}.welcome-message li{color:#666;color:var(--text-secondary,#666);margin:8px 0}.message{border-radius:8px;margin-bottom:20px;max-width:80%;padding:15px}.message.user{background:#007bff;background:var(--primary-color,#007bff);color:#fff;margin-left:auto}.message.assistant{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0)}.message-header{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px;opacity:.8}.message-role{font-weight:700;text-transform:uppercase}.message-time{font-size:11px}.message-content{font-size:14px;line-height:1.6}.message-content pre{word-wrap:break-word;font-family:inherit;margin:0;white-space:pre-wrap}.message.assistant .message-content pre{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:4px;font-family:Courier New,monospace;overflow-x:auto;padding:10px}.markdown-content{line-height:1.6}.markdown-content p{margin:.5em 0}.markdown-content table{border-collapse:collapse;display:block;font-size:13px;margin:1em 0;max-width:100%;overflow-x:auto;width:100%}.markdown-content thead{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5)}.markdown-content th{color:#333;color:var(--text-primary,#333);font-weight:600}.markdown-content td,.markdown-content th{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);padding:8px 12px;text-align:left}.markdown-content tr:nth-child(2n){background:#f9f9f9;background:var(--bg-secondary,#f9f9f9)}.markdown-content tr:hover{background:#f0f0f0;background:var(--bg-hover,#f0f0f0)}.markdown-content code{border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.markdown-content code,.markdown-content pre{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5)}.markdown-content pre{border-radius:4px;margin:1em 0;overflow-x:auto;padding:12px}.markdown-content pre code{background:none;padding:0}.markdown-content ol,.markdown-content ul{margin:.5em 0;padding-left:2em}.markdown-content li{margin:.25em 0}.message-content.loading{font-style:italic;opacity:.7}.loading-dots:after{animation:dots 1.5s steps(4) infinite;content:"..."}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.chat-input-container{align-items:flex-end;display:flex;gap:10px}.chat-input{background:#fff;background:var(--bg-primary,#fff);border:2px solid #ccc;border:2px solid var(--border-color,#ccc);border-radius:8px;color:#333;color:var(--text-primary,#333);flex:1 1;font-family:inherit;font-size:14px;min-height:60px;padding:12px;resize:vertical}.chat-input:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);outline:none}.chat-input:disabled{cursor:not-allowed;opacity:.6}.send-btn{background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:60px;padding:12px 24px;transition:background .2s}.send-btn:hover:not(:disabled){background:#0056b3;background:var(--primary-hover,#0056b3)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;background:var(--bg-secondary,#f1f1f1);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#888;background:var(--border-color,#888);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#555;background:var(--text-secondary,#555)}.help-btn{background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .2s}.help-btn:hover{background:#0056b3;background:var(--primary-hover,#0056b3)}.chat-main-container{flex:1 1;flex-direction:row}.chat-content,.chat-main-container{display:flex;gap:20px;overflow:hidden}.chat-content{flex:1 1;flex-direction:column}.guide-panel{background:#fff;background:var(--bg-primary,#fff);border:2px solid #007bff;border:2px solid var(--primary-color,#007bff);border-radius:8px;flex-shrink:0;overflow-y:auto;padding:20px;width:50%}.guide-panel h3{color:#007bff;color:var(--primary-color,#007bff);margin:0 0 10px}.guide-intro{color:#666;color:var(--text-secondary,#666);font-size:14px;margin-bottom:20px}.guide-categories{display:flex;flex-direction:column;gap:15px}.guide-section{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;padding:10px}.guide-section summary{border-radius:4px;cursor:pointer;font-weight:600;padding:5px;transition:background .2s;-webkit-user-select:none;user-select:none}.guide-section summary:hover{background:#e9ecef;background:var(--bg-hover,#e9ecef)}.guide-section summary h4{color:#333;color:var(--text-primary,#333);display:inline;font-size:16px;margin:0}.guide-section ul{margin:10px 0 5px;padding-left:25px}.guide-section li{color:#555;color:var(--text-secondary,#555);font-size:14px;line-height:1.5;margin:6px 0}.guide-section li strong{color:#333;color:var(--text-primary,#333)}.guide-section li ul{margin-bottom:0;margin-top:5px}.guide-section li ul li{color:#666;color:var(--text-secondary,#666);font-size:13px}.feature-highlight{background:#d4edda;background:var(--success-light,#d4edda);border-left:3px solid #28a745;border-left:3px solid var(--success-color,#28a745);border-radius:4px;color:#155724;color:var(--success-dark,#155724);font-size:13px;font-weight:500;margin:10px 0;padding:8px 12px}.tip{background:#d1ecf1;background:var(--info-light,#d1ecf1);border-left:3px solid #17a2b8;border-left:3px solid var(--info-color,#17a2b8);color:#0c5460;color:var(--info-dark,#0c5460);font-size:14px;margin:10px 0 5px;padding:10px 15px}.tip,.tip-small{border-radius:4px}.tip-small{background:#e7f3ff;background:var(--info-light,#e7f3ff);color:#004085;color:var(--info-dark,#004085);font-size:12px;font-style:italic;margin:8px 0 0;padding:6px 10px}.guide-footer{border-top:2px solid #e0e0e0;border-top:2px solid var(--border-color,#e0e0e0);margin-top:20px;padding-top:15px}.guide-footer ul{margin:10px 0;padding-left:25px}.guide-footer li{color:#666;color:var(--text-secondary,#666);font-size:13px;margin:5px 0}.guide-panel::-webkit-scrollbar{width:8px}.guide-panel::-webkit-scrollbar-track{background:#f1f1f1;background:var(--bg-secondary,#f1f1f1);border-radius:4px}.guide-panel::-webkit-scrollbar-thumb{background:#888;background:var(--border-color,#888);border-radius:4px}.guide-panel::-webkit-scrollbar-thumb:hover{background:#555;background:var(--text-secondary,#555)}.logger-management-container{margin:0 auto;max-width:1400px;padding:2rem}.logger-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.logger-management-header h1{color:#1a202c;font-size:2rem;margin:0 0 .5rem}.logger-management-header p{color:#718096;margin:0}.logger-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.logger-table{border-collapse:collapse;width:100%}.logger-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.logger-table th{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.logger-table td{border-bottom:1px solid #e2e8f0;padding:1rem}.logger-table tbody tr:hover{background:#f7fafc}.logger-serial{display:flex;flex-direction:column;gap:.25rem}.logger-serial strong{color:#1a202c}.logger-vendor{color:#718096;font-size:.75rem}.state-cell,.status-cell{align-items:center;display:flex;gap:.5rem}.icon-connected{color:#48bb78}.icon-disconnected{color:#f56565}.icon-active{color:#48bb78}.icon-hold{color:#ed8936}.icon-stopped{color:#718096}.state-badge{border-radius:9999px;padding:.25rem .75rem}.state-active{background:#c6f6d5;color:#22543d}.state-hold{background:#feebc8;color:#7c2d12}.state-stopped{background:#e2e8f0;color:#2d3748}.badge-enabled{background:#c6f6d5;color:#22543d}.badge-disabled,.badge-enabled{border-radius:9999px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.badge-disabled{background:#e2e8f0;color:#718096}.badge-type{border-radius:4px;font-size:.7rem;font-weight:600;padding:.2rem .5rem;text-transform:uppercase}.badge-logger{background:#bee3f8;color:#2b6cb0}.badge-s3{background:#fefcbf;color:#744210}.sync-info{display:flex;flex-direction:column;gap:.25rem}.sync-lag{color:#718096;font-size:.75rem}.action-buttons{flex-wrap:wrap;gap:.5rem}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-primary{background:#4299e1}.btn-primary:hover{background:#3182ce}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0}.btn-success{background:#48bb78;color:#fff}.btn-success:hover{background:#38a169}.btn-warning{background:#ed8936;color:#fff}.btn-warning:hover{background:#dd6b20}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover{background:#e53e3e}.btn-info{background:#667eea;color:#fff}.btn-info:hover{background:#5a67d8}.btn-small{font-size:.75rem;padding:.375rem .75rem}.empty-state{align-items:center;color:#718096;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.empty-state svg{color:#cbd5e0}.modal-overlay{animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s;max-width:700px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e2e8f0;padding:1.5rem}.modal-header h2{color:#1a202c;font-size:1.5rem}.modal-close{align-items:center;background:none;color:#718096;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-content form{padding:1.5rem}.form-grid{grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.form-group label{color:#2d3748}.form-group .required{color:#f56565}.form-group input,.form-group select{border:1px solid #cbd5e0;border-radius:6px;font-size:.875rem;padding:.625rem;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.checkbox-group{align-items:center;flex-direction:row}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer;width:auto}.modal-footer{border-top:1px solid #e2e8f0;gap:1rem;padding-top:1.5rem}.loading{align-items:center;color:#718096;display:flex;font-size:1.125rem;justify-content:center;min-height:400px}.btn-icon{background:none;border:none;color:#718096;padding:.25rem;transition:color .2s}.btn-icon:hover{color:#2d3748}.logger-details-row{background:#f7fafc}.logger-details{border-top:2px solid #cbd5e0;padding:1.5rem}.detail-section{margin-bottom:2rem}.detail-section:last-child{margin-bottom:0}.detail-section h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{color:#718096;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-value{color:#2d3748;font-weight:500}.detail-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.detail-table thead{background:#e2e8f0}.detail-table th{color:#4a5568;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem;text-align:left;text-transform:uppercase}.detail-table td{border-bottom:1px solid #e2e8f0;font-size:.875rem;padding:.75rem}.detail-table tbody tr:last-child td{border-bottom:none}.detail-table tbody tr:hover{background:#f7fafc}.badge-success{background:#c6f6d5;color:#22543d}.badge-success,.badge-warning{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.badge-warning{background:#feebc8;color:#7c2d12}.badge-error{background:#fed7d7;border-radius:4px;color:#742a2a;font-size:.75rem;font-weight:600;padding:.25rem .5rem}@media (max-width:768px){.logger-management-container{padding:1rem}.logger-management-header{align-items:flex-start;flex-direction:column;gap:1rem}.logger-table{font-size:.75rem}.logger-table td,.logger-table th{padding:.5rem}.form-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.action-buttons{flex-direction:column}}.s3-detail{padding:1.5rem 2rem}.s3-detail-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.s3-detail-header h2{color:#212529;font-size:1.25rem;font-weight:600;margin:0}.s3-btn-back{background:none;border:none;border-radius:4px;color:#0d6efd;cursor:pointer;font-size:.85rem;padding:.25rem .5rem}.s3-btn-back:hover{background:#e7f3ff}.s3-btn-scan{align-items:center;background:#fff;border:1px solid #0d6efd;border-radius:6px;color:#0d6efd;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s}.s3-btn-scan:disabled{cursor:default;opacity:.6}.s3-btn-scan:hover{background:#e7f3ff}.s3-btn-scan.active{background:#0d6efd;color:#fff}.s3-btn-refresh{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s}.s3-btn-refresh:hover{background:#f8f9fa;border-color:#adb5bd}.s3-scan-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.s3-scan-form{align-items:center;display:flex;gap:.5rem}.s3-scan-form label{color:#495057;font-size:13px;font-weight:500}.s3-scan-form input[type=date]{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#212529;font-size:13px;padding:5px 10px;transition:border-color .15s}.s3-scan-form input[type=date]:focus{border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd1a;outline:none}.s3-scan-form input[type=date]:disabled{background:#e9ecef;color:#6c757d}.s3-btn-start-scan{background:#0d6efd;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.s3-btn-start-scan:hover:not(:disabled){background:#0b5ed7}.s3-btn-start-scan:disabled{background:#6c757d;cursor:default}.s3-scan-result{color:#495057;font-size:13px;margin-top:.75rem}.s3-scan-result .text-muted{color:#6c757d}.s3-toggle{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.s3-toggle-track{background:#dee2e6;border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:44px}.s3-toggle-track.active{background:#198754}.s3-toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.s3-toggle-track.active .s3-toggle-knob{transform:translateX(20px)}.s3-toggle-label{color:#6c757d;font-size:13px;font-weight:500}.s3-toggle-label.active{color:#198754}.s3-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.s3-info-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.s3-sqs-section{border-top:1px solid #e9ecef;margin-top:1rem;padding-top:1rem}.s3-sqs-label{color:#6c757d;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.s3-sqs-row{align-items:center;display:flex;gap:10px}.s3-sqs-queue-url{color:#6c757d;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:12px;margin-top:6px;word-break:break-all}.s3-sqs-error{color:#dc3545;font-size:.8em;line-height:1.3;margin-top:6px}.s3-info-field label{color:#6c757d;display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.s3-info-field span{color:#212529;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.875rem}.s3-stats-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.s3-stat-badge{background:#fff;border:1px solid #e9ecef;border-radius:8px;min-width:80px;padding:.5rem 1rem;text-align:center}.s3-stat-value{font-size:1.25rem;font-weight:700}.s3-stat-label{color:#6c757d;font-size:11px;letter-spacing:.3px;text-transform:uppercase}.s3-stat-meta{color:#6c757d;font-size:13px;margin-left:auto}.s3-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:0;margin-bottom:1rem}.s3-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:-2px;padding:.5rem 1rem;transition:all .15s}.s3-tab:hover{color:#495057}.s3-tab.active{border-bottom-color:#0d6efd;color:#0d6efd;font-weight:600}.s3-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.s3-filter-bar input[type=date],.s3-filter-bar select{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#212529;font-size:13px;padding:5px 10px;transition:border-color .15s}.s3-filter-bar input[type=date]:focus,.s3-filter-bar select:focus{border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd1a;outline:none}.s3-btn-clear{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:12px;padding:5px 10px;transition:all .15s}.s3-btn-clear:hover{background:#f8f9fa;border-color:#adb5bd}.s3-filter-summary{color:#6c757d;font-size:13px;margin-left:auto}.s3-table-container{background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.s3-table{border-collapse:collapse;font-size:13px;width:100%}.s3-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.s3-table td,.s3-table th{color:#495057;white-space:nowrap}.s3-table td{border-bottom:1px solid #f0f0f0;padding:8px 12px}.s3-table tr:hover td{background:#f8f9fa}.s3-table .text-right{text-align:right}.s3-table .text-center{text-align:center}.s3-table .text-muted{color:#adb5bd}.s3-date-header{cursor:pointer;-webkit-user-select:none;user-select:none}.s3-date-header td{background:#f0f4ff;border-bottom:1px solid #dee2e6;color:#0d6efd;font-size:13px;font-weight:600;padding:8px 12px}.s3-date-header:hover td{background:#e4ecff!important}.s3-date-summary{font-weight:400;margin-left:12px}.s3-date-summary-badge{border-radius:3px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2px;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.s3-empty{color:#adb5bd;font-size:14px;padding:3rem 1rem;text-align:center}.s3-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.s3-status-pending{background:#fff3cd;color:#664d03}.s3-status-downloading{background:#cfe2ff;color:#084298}.s3-status-downloaded{background:#d1e7dd;color:#0f5132}.s3-status-ingested{background:#d1e7dd;color:#0a3622}.s3-status-error{background:#f8d7da;color:#842029}.s3-status-passed{background:#d1e7dd;color:#0f5132}.s3-status-warning{background:#fff3cd;color:#664d03}.s3-pagination{align-items:center;display:flex;gap:.75rem;justify-content:center;padding:.75rem 0}.s3-pagination button{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:13px;font-weight:500;padding:5px 14px;transition:all .15s}.s3-pagination button:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.s3-pagination button:disabled{background:#f8f9fa;color:#c4c8cc;cursor:default}.s3-pagination span{color:#6c757d;font-size:13px}.s3-discover-bar{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.75rem 1rem}.s3-btn-reingest{align-items:center;background:#fff;border:1px solid #e67700;border-radius:6px;color:#e67700;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:5px 12px;transition:all .15s}.s3-btn-reingest:hover:not(:disabled){background:#fff8f0}.s3-btn-reingest:disabled{cursor:default;opacity:.6}.s3-btn-reset{background:#fff;border:1px solid #dc3545;border-radius:6px;color:#dc3545;cursor:pointer;font-size:12px;font-weight:500;padding:5px 12px;transition:all .15s}.s3-btn-reset:hover:not(:disabled){background:#fff5f5}.s3-btn-reset:disabled{cursor:default;opacity:.6}.s3-btn-download{align-items:center;background:none;border:none;border-radius:4px;color:#0d6efd;cursor:pointer;display:inline-flex;padding:2px 6px;transition:all .15s}.s3-btn-download:hover{background:#e7f3ff;color:#0b5ed7}.s3-workflow-guide{align-items:center;color:#adb5bd;display:flex;font-size:12px;gap:.5rem;margin-bottom:.5rem}.s3-workflow-step{color:#adb5bd;font-weight:500}.s3-workflow-step.active{color:#0d6efd;font-weight:600}.s3-workflow-arrow{color:#dee2e6;font-size:11px}.s3-step-num{font-size:11px;opacity:.65}.s3-action-toolbar{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.s3-action-toolbar-right{align-items:center;display:flex;gap:.5rem;margin-left:auto}.s3-btn-delete{background:#dc3545;border:1px solid #dc3545;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.s3-btn-delete:hover{background:#bb2d3b;border-color:#bb2d3b}.s3-loading{color:#6c757d}.s3-error,.s3-loading{padding:3rem;text-align:center}.s3-error{color:#dc3545}.ftp-detail{display:flex;flex-direction:column;height:100%;overflow:hidden}.ftp-detail-header{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);display:flex;gap:.75rem;min-height:48px;padding:.75rem 1rem}.ftp-detail-header h2{color:inherit;color:var(--color-text,inherit);font-size:1.1rem;font-weight:600;margin:0}.ftp-back-btn{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #dee2e6;border:1px solid var(--color-border,#dee2e6);border-radius:4px;color:#495057;color:var(--color-textSecondary,#495057);cursor:pointer;display:flex;font-size:.8rem;padding:.3rem .6rem}.ftp-back-btn:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.ftp-tabs{background:#fff;background:var(--color-cardBackground,#fff);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);display:flex;gap:0;padding:0 1rem}.ftp-tab{border-bottom:2px solid #0000;color:#6c757d;color:var(--color-textSecondary,#6c757d);cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.ftp-tab:hover{color:#495057;color:var(--color-text,#495057)}.ftp-tab.active{border-bottom-color:#007bff;border-bottom-color:var(--color-primary,#007bff);color:#007bff;color:var(--color-primary,#007bff)}.ftp-content{flex:1 1;overflow-y:auto;padding:1rem}.ftp-card{background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-radius:6px;margin-bottom:1rem;padding:1rem}.ftp-card h3{color:#495057;color:var(--color-text,#495057);font-size:.85rem;font-weight:600;margin:0 0 .75rem}.ftp-info-grid{grid-gap:.35rem 1rem;display:grid;font-size:.8rem;gap:.35rem 1rem;grid-template-columns:130px 1fr}.ftp-info-label{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-weight:500}.ftp-info-value{color:inherit;color:var(--color-text,inherit);font-family:monospace;word-break:break-all}.ftp-table{border-collapse:collapse;font-size:.8rem;width:100%}.ftp-table th{background:#f1f3f5;background:var(--color-surface,#f1f3f5);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);color:#495057;color:var(--color-textSecondary,#495057);font-weight:600;padding:.5rem .75rem;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.ftp-table td{border-bottom:1px solid #f1f3f5;border-bottom:1px solid var(--color-borderLight,#f1f3f5);color:inherit;color:var(--color-text,inherit);padding:.4rem .75rem;vertical-align:middle}.ftp-table tr:hover td{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.ftp-status{border-radius:3px;display:inline-block;font-size:.7rem;font-weight:500;padding:.15rem .5rem;text-transform:uppercase}.ftp-status-pending{background:#fff3cd;color:#856404}.ftp-status-downloading{background:#cce5ff;color:#004085}.ftp-status-downloaded{background:#d4edda;color:#155724}.ftp-status-ingested{background:#d1ecf1;color:#0c5460}.ftp-status-error{background:#f8d7da;color:#721c24}.ftp-status-warning{background:#fff3cd;color:#856404}.ftp-toggle{align-items:center;cursor:pointer;display:flex;gap:.5rem}.ftp-toggle-track{border-radius:10px;height:20px;position:relative;transition:background .2s;width:36px}.ftp-toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:16px;position:absolute;top:2px;transition:left .2s;width:16px}.ftp-badge{align-items:center;border-radius:3px;display:inline-flex;font-size:.7rem;font-weight:500;gap:.3rem;padding:.2rem .5rem}.ftp-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.ftp-toolbar input,.ftp-toolbar select{padding:.3rem .5rem}.ftp-toolbar button,.ftp-toolbar input,.ftp-toolbar select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #ced4da;border:1px solid var(--color-border,#ced4da);border-radius:4px;color:inherit;color:var(--color-text,inherit);font-size:.8rem}.ftp-toolbar button{align-items:center;cursor:pointer;display:flex;gap:.3rem;padding:.3rem .75rem}.ftp-toolbar button:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.ftp-toolbar button.primary{background:#007bff;background:var(--color-primary,#007bff);border-color:#007bff;border-color:var(--color-primary,#007bff);color:#fff}.ftp-toolbar button.primary:hover{background:#0069d9;background:var(--color-primaryDark,#0069d9)}.ftp-pagination{align-items:center;color:#6c757d;color:var(--color-textSecondary,#6c757d);display:flex;font-size:.8rem;gap:.5rem;margin-top:.75rem}.ftp-pagination button{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #ced4da;border:1px solid var(--color-border,#ced4da);border-radius:4px;color:inherit;color:var(--color-text,inherit);cursor:pointer;font-size:.8rem;padding:.2rem .5rem}.ftp-pagination button:disabled{cursor:not-allowed;opacity:.5}.ftp-empty{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:.9rem;padding:3rem;text-align:center}.ftp-alert{border-radius:4px;font-size:.8rem;margin-bottom:.75rem;padding:.6rem .75rem}.ftp-alert-success{background:#d4edda;color:#155724}.ftp-alert-error{background:#f8d7da;color:#721c24}.ftp-alert-info{background:#d1ecf1;color:#0c5460}.ftp-alert-warning{background:#fff3cd;color:#856404}.ftp-stat-bar{display:flex;font-size:.8rem;gap:1rem;padding:.5rem 0}.ftp-stat-item{align-items:center;display:flex;gap:.3rem}.ftp-stat-dot{border-radius:50%;height:8px;width:8px}.channel-mapping{display:flex;flex-direction:column;gap:1.5rem}.mapping-header h3{color:#212529;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.mapping-description{color:#6c757d;font-size:.9rem;margin:0}.mapping-section{display:flex;flex-direction:column;gap:.75rem}.mapping-section label{color:#495057;font-size:.95rem;font-weight:600}.report-select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem}.report-select:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.btn-discover{align-self:flex-start;background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.2rem;transition:background .2s}.btn-discover:hover:not(:disabled){background:#0056b3}.btn-discover:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.discovery-status{align-items:center;color:#28a745;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.mapping-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;padding:.75rem 1rem}.mapping-stats{display:flex;gap:.75rem;margin-bottom:1rem}.stat-badge{border-radius:4px;font-size:.85rem;font-weight:600;padding:.375rem .75rem}.stat-mapped{background:#d4edda;color:#155724}.stat-unmapped{background:#fff3cd;color:#856404}.mapping-table-container{border:1px solid #dee2e6;border-radius:4px;max-height:400px;overflow-x:auto;overflow-y:auto}.mapping-table{background:var(--color-cardBackground,#fff)}.mapping-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6;position:-webkit-sticky;position:sticky;top:0;z-index:1}.mapping-table th{white-space:nowrap}.mapping-table tbody tr{border-bottom:1px solid #f1f3f5;transition:background .15s}.mapping-table tbody tr:hover{background:#f8f9fa}.mapping-table tbody tr:last-child{border-bottom:none}.mapping-table td{color:#495057}.channel-address{color:#007bff;font-family:Courier New,monospace;font-weight:600}.priority-cell{text-align:center;width:60px}.priority-cell input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:16px;width:16px}.parameter-select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.375rem .5rem;width:100%}.parameter-select:focus{border-color:#007bff;box-shadow:0 0 0 .15rem #007bff40;outline:none}.mapping-actions{align-items:center;border-top:1px solid #e9ecef;display:flex;gap:1rem;padding-top:1rem}.btn-save{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.5rem;transition:background .2s}.btn-save:hover:not(:disabled){background:#218838}.btn-save:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.save-hint{color:#6c757d;font-size:.85rem;font-style:italic}.mapping-placeholder{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:4px;color:#6c757d;font-size:.95rem;padding:3rem 1rem;text-align:center}.mapping-placeholder p{margin:0}.discovery-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:1rem;padding:1rem}.discovery-header{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.discovery-label{color:#495057;font-size:.9rem;font-weight:600}.btn-discover-small{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.375rem .75rem;transition:background .2s}.btn-discover-small:hover:not(:disabled){background:#5a6268}.btn-discover-small:disabled{cursor:not-allowed;opacity:.6}.discovery-hint{color:#6c757d;font-size:.8rem;font-style:italic;margin:.5rem 0 0}.logger-wizard{background:#fff;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden}.wizard-steps{background:#f8f9fa;border-bottom:1px solid #dee2e6;gap:0;justify-content:center;padding:.75rem 1rem}.wizard-step,.wizard-steps{align-items:center;display:flex}.wizard-step{flex-direction:column;flex-shrink:0;gap:.25rem;width:100px}.step-number{align-items:center;background:#e9ecef;border-radius:50%;color:#6c757d;display:flex;font-size:.85rem;font-weight:600;height:28px;justify-content:center;transition:all .3s;width:28px}.wizard-step.active .step-number{background:#007bff;box-shadow:0 0 0 4px #007bff33;color:#fff}.wizard-step.completed .step-number{background:#28a745;color:#fff}.step-label{color:#6c757d;font-size:.75rem;font-weight:500;line-height:1.2;text-align:center;white-space:pre-line}.wizard-step.active .step-label{color:#007bff;font-weight:600}.step-connector{background:#dee2e6;flex-shrink:0;height:2px;margin-top:-22px;width:60px}.wizard-body{flex:1 1;overflow-y:auto;padding:2rem}.wizard-step-content{margin:0 auto;max-width:800px}.wizard-step-content h2{color:#212529;font-size:1.5rem;margin:0 0 .5rem}.wizard-step-content>p{color:#6c757d;font-size:.95rem;margin:0 0 2rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{color:#495057;font-size:.9rem;font-weight:600}.form-field input,.form-field select{border:1px solid #ced4da;border-radius:4px;font-size:.95rem;padding:.6rem}.form-field input:focus,.form-field select:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.form-field small{color:#6c757d;font-size:.8rem;font-style:italic}.test-result{border-radius:4px;margin-top:1.5rem;padding:1rem}.test-result.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.test-result.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.reports-list{display:flex;flex-direction:column;gap:1.5rem}.report-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:1rem}.report-header{justify-content:space-between;margin-bottom:1rem}.report-header label{align-items:center;cursor:pointer;display:flex;gap:.75rem}.report-header input[type=checkbox]{cursor:pointer;height:18px;width:18px}.btn-small{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:background .2s}.btn-small:hover:not(:disabled){background:#0056b3}.btn-small:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.channel-mappings{margin-top:1rem}.mapping-table{background:#fff;border-radius:4px;font-size:.9rem}.mapping-table thead{background:#e9ecef}.mapping-table th{color:#495057;padding:.75rem}.mapping-table td{border-top:1px solid #dee2e6;padding:.75rem}.mapping-table select{border:1px solid #ced4da;font-size:.85rem;padding:.4rem}.review-section{border-bottom:1px solid #e9ecef;margin-bottom:2rem;padding-bottom:1.5rem}.review-section:last-child{border-bottom:none}.review-section h3{color:#495057;font-size:1.1rem;margin:0 0 1rem}.review-item{font-size:.95rem;padding:.5rem 0}.review-item strong{color:#495057;margin-right:.5rem}.review-report{color:#6c757d;font-size:.9rem;padding:.5rem 0}.wizard-footer{align-items:center;background:#fff;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding:.75rem 2rem}.btn-cancel,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;height:36px;justify-content:center;line-height:1;min-width:100px;padding:0 1.5rem;transition:all .2s}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#6c757d}.btn-secondary:hover{background:#5a6268}.modal-content{border-radius:8px;max-height:80vh;overflow-y:auto;padding:2rem}.modal-content h3{margin:0 0 1rem}.pipeline-visualization{padding:0}.pipeline-header{align-items:center;background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.pipeline-header h2{color:#333;color:var(--color-text,#333);font-size:1.25rem;font-weight:600;margin:0}.pipeline-controls{align-items:center;display:flex;gap:10px}.btn-refresh{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #dee2e6;border:1px solid var(--color-border,#dee2e6);border-radius:6px;color:#495057;color:var(--color-text,#495057);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-color:#adb5bd;border-color:var(--color-border,#adb5bd)}.btn-refresh:disabled{cursor:not-allowed;opacity:.6}.pipeline-content{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #dee2e6;border:1px solid var(--color-border,#dee2e6);border-radius:8px}.clickable{cursor:pointer;transition:background-color .2s}.clickable:hover{background-color:#f8f9fa;background-color:var(--color-surface,#f8f9fa)}.badge{display:inline-block;font-size:12px;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.badge-sm{font-size:10px;padding:2px 6px}.badge-gray{background:#e9ecef;color:#6c757d}.badge-blue{background:#cfe2ff;color:#084298}.badge-green{background:#d1e7dd;color:#0f5132}.badge-yellow{background:#fff3cd;color:#664d03}.badge-red{background:#f8d7da;color:#842029}.progress-bar-container{background:#f0f0f0;background:var(--color-surface,#f0f0f0);border:1px solid #dee2e6;border:1px solid var(--color-border,#dee2e6);border-radius:4px;height:22px;overflow:hidden;position:relative;width:180px}.progress-bar{height:100%;transition:width .3s ease}.progress-green{background:linear-gradient(90deg,#28a745,#20c997)}.progress-blue{background:linear-gradient(90deg,#007bff,#17a2b8)}.progress-gray{background:#dee2e6;background:var(--color-border,#dee2e6)}.progress-text{color:#333;font-size:11px;font-weight:600;left:50%;position:absolute;text-shadow:0 0 3px #fffc;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.report-summary{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:13px;font-weight:400;margin-left:auto}.pipeline-table-container{padding:15px}.report-table-section{border:1px solid #e9ecef;border:1px solid var(--color-border,#e9ecef);border-radius:8px;margin-bottom:20px;overflow:hidden}.report-table-header{align-items:center;background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);display:flex;gap:10px;padding:12px 16px}.report-table-header h3{color:inherit;color:var(--color-text,inherit);font-size:15px;font-weight:600;margin:0}.pipeline-table{border-collapse:collapse;width:100%}.pipeline-table th{background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--color-border,#dee2e6);color:#495057;color:var(--color-textSecondary,#495057);font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.pipeline-table td{border-bottom:1px solid #f8f9fa;border-bottom:1px solid var(--color-border,#f8f9fa);color:inherit;color:var(--color-text,inherit);font-size:13px;padding:10px 12px}.pipeline-row{cursor:pointer;transition:background-color .15s}.pipeline-row:hover{background-color:#f8f9fa;background-color:var(--color-surface,#f8f9fa)}.pipeline-row.expanded{background-color:#e7f3ff}.pipeline-row.warning-row,.pipeline-row.warning-row.expanded{border-left:3px solid #dc3545}.pipeline-row.in-progress-row,.pipeline-row.in-progress-row.expanded{border-left:3px solid #0d6efd}.pipeline-row td:first-child{align-items:center;display:flex;gap:8px}.detail-row{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.detail-content{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:16px}.detail-item{color:#495057;color:var(--color-textSecondary,#495057);font-size:13px}.detail-item strong{color:#333;color:var(--color-text,#333);display:inline-block;font-weight:600;min-width:140px}.detail-formula{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:12px;font-style:italic;margin-left:8px}.detail-item.warning{background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#856404;padding:8px 12px}.detail-item.info{background:#d1ecf1;border-left:3px solid #17a2b8;border-radius:4px;color:#0c5460;padding:8px 12px}.l1-combined-cell,.live-status-detail{align-items:center;display:flex;gap:8px}.live-info{color:#664d03;font-size:12px}.live-timestamp{color:#856404;font-weight:500}.boundary-indicator{cursor:help;margin-left:6px}.boundary-indicator,.error,.loading{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:14px}.error,.loading{padding:60px 20px;text-align:center}.error{color:#dc3545}.error p{font-size:15px;margin-bottom:20px}.error .btn{background:#007bff;background:var(--color-primary,#007bff);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 20px;transition:background .2s}.error .btn:hover{background:#0056b3}.parquet-uncovered{color:#adb5bd;color:var(--color-textSecondary,#adb5bd);font-size:14px}.parquet-manifest{border-top:1px solid #e9ecef;border-top:1px solid var(--color-border,#e9ecef)}.parquet-manifest-header{align-items:center;background:#f8f9fa;background:var(--color-surface,#f8f9fa);color:#495057;color:var(--color-textSecondary,#495057);display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 16px}.parquet-manifest-table{border-collapse:collapse;font-size:12px;width:100%}.parquet-manifest-table th{background:#f8f9fa;background:var(--color-surface,#f8f9fa);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--color-border,#dee2e6);color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:11px;font-weight:600;letter-spacing:.4px;padding:6px 12px;text-align:left;text-transform:uppercase}.parquet-manifest-table td{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-border,#f0f0f0);color:#495057;color:var(--color-text,#495057);padding:6px 12px}.parquet-manifest-table tr:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}@media (max-width:1024px){.pipeline-header{align-items:flex-start;flex-direction:column;gap:12px}.pipeline-controls{justify-content:space-between;width:100%}.progress-bar-container{width:140px}.detail-content{grid-template-columns:1fr}}@media (max-width:768px){.report-summary{font-size:11px}.pipeline-table{font-size:12px}.pipeline-table td,.pipeline-table th{padding:8px 6px}}.backfill-panel{animation:slideInRight .25s ease-out;background:#fff;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 60px);position:fixed;right:0;top:60px;width:500px;z-index:1000}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.backfill-panel-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;padding:1.5rem}.backfill-tabs{display:flex;gap:.5rem;margin-top:1rem}.backfill-tab{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-weight:500;padding:.5rem 1rem;transition:all .2s}.backfill-tab:hover{background:#ffffff4d}.backfill-tab.active{background:#fff;border-color:#fff;color:#667eea}.backfill-panel-body{flex:1 1;overflow-y:auto;padding:1.5rem}.backfill-panel-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.backfill-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem}.form-control{border:1px solid #ddd;font-family:inherit;font-size:.875rem;padding:.625rem}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}textarea.form-control{min-height:100px;resize:vertical}.info-box{background:#e7f3ff;border-left:4px solid #2196f3;border-radius:4px;font-size:.875rem;line-height:1.5;padding:1rem}.info-box strong{color:#1976d2}.backfill-queue{height:100%}.queue-list{display:flex;flex-direction:column;gap:1rem}.queue-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;transition:box-shadow .2s}.queue-item:hover{box-shadow:0 2px 8px #00000014}.queue-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.queue-item-details{display:flex;flex-direction:column;gap:.5rem}.error-message{background:#ffebee;border-left:3px solid #dc3545;color:#c62828;font-size:.875rem;margin-top:.5rem;padding:.5rem}.btn-primary{background:#667eea;font-size:.875rem;padding:.625rem 1.25rem}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-secondary{background:#6c757d;border:none;color:#fff;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-secondary:disabled{background:#ccc;cursor:not-allowed}.btn-cancel{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;margin-top:.5rem;padding:.375rem .75rem;transition:background .2s}.btn-cancel:hover{background:#c82333}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{align-items:flex-start;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.checkbox-label:hover{background:#f0f4ff;border-color:#667eea}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;margin-top:2px;width:18px}.checkbox-label span:first-of-type{color:#333;font-weight:500}.checkbox-hint{color:#6c757d;display:block;font-size:.8rem;font-weight:400;margin-top:2px}.result-messages{display:flex;flex-direction:column;gap:.5rem}.result-message{border-radius:4px;font-size:.875rem;padding:.75rem}.result-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.result-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:768px){.backfill-panel{width:100%}}.initial-setup-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.initial-setup-section.needs-action{background:#fffbf0;border:2px solid #ffc107}.initial-setup-section.completed{background:#f8f9fa;border:1px solid #d4edda}.setup-header{align-items:center;background:inherit;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.needs-action .setup-header{background:#fff3cd}.completed .setup-header{background:#d4edda}.setup-title{align-items:center;display:flex;gap:.75rem}.setup-title h3{font-size:1.1rem;font-weight:600;margin:0}.status-badge{border-radius:12px;font-weight:600;padding:.25rem .75rem}.status-badge.action-needed{background:#dc3545;color:#fff}.status-badge.completed{background:#28a745;color:#fff}.step-indicator,.step-indicator-mini{align-items:center;display:flex;gap:.5rem}.step{align-items:center;display:flex;font-size:.9rem;gap:.35rem}.step.complete{color:#28a745}.step.in_progress{color:#007bff}.step.not_started{color:#6c757d}.step-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:.75rem;height:20px;justify-content:center;width:20px}.step-icon.complete{background:#d4edda;color:#28a745}.step-icon.in-progress{animation:pulse 1.5s infinite;background:#cce5ff;color:#007bff}.step-icon.not-started{background:#e9ecef;color:#6c757d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.step-arrow{color:#adb5bd;font-weight:700}.expand-toggle{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:.8rem;padding:.35rem .75rem}.expand-toggle:hover{background:#e9ecef}.setup-summary-collapsed{color:#6c757d;display:flex;font-size:.85rem;gap:1.5rem;padding:.5rem 1.25rem 1rem}.setup-content{background:#fff;border-top:1px solid #e9ecef;padding:1.25rem}.date-range-config{align-items:flex-end;border-bottom:1px solid #e9ecef;display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem}.date-field{display:flex;flex-direction:column;gap:.25rem}.date-field label{color:#6c757d;font-size:.8rem;font-weight:500}.date-field input[type=date]{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.4rem .6rem}.date-hint{align-self:center;color:#6c757d;font-size:.8rem}.action-buttons,.action-buttons-grouped{display:flex;gap:.75rem;margin-bottom:1.5rem}.action-buttons-grouped,.action-group{align-items:flex-end}.action-group{display:flex;gap:.5rem}.action-group+.action-group{border-left:1px solid #dee2e6;padding-left:.75rem}.ingestion-date-range,.ingestion-group{align-items:flex-end;display:flex;gap:.5rem}.date-field-inline{display:flex;flex-direction:column;gap:.15rem}.date-field-inline label{color:#6c757d;font-size:.75rem;font-weight:500}.date-field-inline input[type=date]{border:1px solid #ced4da;border-radius:4px;font-size:.85rem;padding:.35rem .5rem}.action-btn{background:#e9ecef;border:none;border-radius:4px;color:#495057;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.action-btn:hover:not(:disabled){background:#dee2e6}.action-btn:disabled{cursor:not-allowed;opacity:.6}.action-btn.primary{background:#007bff;color:#fff}.action-btn.primary:hover:not(:disabled){background:#0069d9}.action-btn.l0-pull.primary{background:#17a2b8}.action-btn.l0-pull.primary:hover:not(:disabled){background:#138496}.action-btn.l1-ingestion.primary{background:#6f42c1}.action-btn.l1-ingestion.primary:hover:not(:disabled){background:#5a32a3}.action-btn.gen-parquet.primary{background:#fd7e14}.action-btn.gen-parquet.primary:hover:not(:disabled){background:#e96b02}.action-btn.download-parquet{background:#20c997;color:#fff}.action-btn.download-parquet:hover:not(:disabled){background:#1aa179}.action-btn.start-logger.primary{background:#28a745}.action-btn.start-logger.primary:hover:not(:disabled){background:#218838}.status-table-section{background:#f8f9fa;border-radius:6px;padding:1rem}.status-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.status-header h4{font-size:1rem;font-weight:600;margin:0}.status-actions{align-items:center;display:flex;gap:.5rem}.btn-action{align-items:center;background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;padding:.35rem .75rem}.btn-action:hover:not(:disabled){opacity:.9}.btn-action:disabled{cursor:not-allowed;opacity:.6}.btn-action.btn-warning{background:#ffc107;color:#212529}.btn-action.btn-info{background:#17a2b8}.btn-action.btn-success{background:#28a745}.record-count{color:#6c757d;font-size:.85rem;margin-left:.5rem}.status-summary{border-bottom:1px solid #e9ecef;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem}.summary-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.summary-label{color:#6c757d;font-size:.75rem;font-weight:600;min-width:70px}.summary-value{color:#495057;font-size:.85rem;font-weight:500}.badge{border-radius:4px;font-size:.8rem;font-weight:600;padding:.15rem .5rem}.badge.passed{background:#d4edda;color:#155724}.badge.warning{background:#fff3cd;color:#856404}.badge.failed{background:#f8d7da;color:#721c24}.badge.empty,.badge.skipped{background:#e2e3e5;color:#383d41}.badge.pending{background:#e9ecef;color:#6c757d}.badge.ready{background:#d1ecf1;color:#0c5460}.expand-controls{display:flex;justify-content:flex-end;margin-bottom:.5rem}.btn-expand-all{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.btn-expand-all:hover{background:#e9ecef}.report-groups{display:flex;flex-direction:column;gap:.5rem}.report-group{background:#fff;border:1px solid #e9ecef;border-radius:6px;overflow:hidden}.report-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;-webkit-user-select:none;user-select:none}.report-header:hover{background:#e9ecef}.collapse-icon{color:#6c757d;font-size:.8rem;width:1rem}.report-name{font-size:.9rem;font-weight:600}.report-label{font-size:.85rem}.report-code,.report-label{color:#6c757d;font-weight:400}.report-code{font-family:monospace;font-size:.8rem;margin-left:.25rem}.report-badges{align-items:center;display:flex;gap:.35rem}.report-badges:first-of-type{margin-left:auto}.badge-mini{border-radius:10px;font-size:.7rem;font-weight:600;padding:.1rem .4rem}.badge-mini.passed{background:#d4edda;color:#155724}.badge-mini.warning{background:#fff3cd;color:#856404}.badge-mini.failed{background:#f8d7da;color:#721c24}.badge-mini.empty{background:#e2e3e5;color:#383d41}.badge-mini.count{background:#007bff;color:#fff}.badge-mini.count-empty{background:#6c757d;color:#fff}.badge-mini.l1-complete{background:#cce5ff;color:#004085}.badge-mini.l1-mismatch{background:#fff3cd;color:#856404}.badge-mini.l1-pending{background:#e2e3e5;color:#6c757d}.badge-mini.parquet-exported{background:#d4edda;color:#155724}.badge-mini.parquet-ready{background:#e2d5f1;color:#5a3d8a}.badge-mini.parquet-pending{background:#e2e3e5;color:#6c757d}.report-badges.l1-badges,.report-badges.parquet-badges{border-left:1px solid #dee2e6;margin-left:.5rem;padding-left:.5rem}.btn-download-report{align-items:center;background:#0000;border:1px solid #28a745;border-radius:4px;color:#28a745;cursor:pointer;display:flex;justify-content:center;margin-left:.5rem;padding:.25rem}.btn-download-report:hover{background:#28a745;color:#fff}.records-table{border-collapse:collapse;font-size:.85rem;width:100%}.records-table thead{background:#fafafa;position:-webkit-sticky;position:sticky;top:0;z-index:1}.records-table th{border-bottom:1px solid #e9ecef;font-weight:600;padding:.4rem .5rem;text-align:left}.records-table td{border-bottom:1px solid #f8f9fa;padding:.4rem .5rem}.status-btn{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;padding:.15rem .35rem}.status-btn.passed{background:#d4edda;color:#155724}.status-btn.warning{background:#fff3cd;color:#856404}.status-btn.failed{background:#f8d7da;color:#721c24}.status-btn.empty{background:#e2e3e5;color:#383d41}.status-btn.pending{background:#e9ecef;color:#6c757d}.status-indicator{border-radius:4px;font-size:.75rem;font-weight:600;padding:.15rem .35rem}.status-indicator.complete,.status-indicator.exported{background:#d4edda;color:#155724}.status-indicator.partial,.status-indicator.processing{background:#cce5ff;color:#004085}.status-indicator.mismatch{background:#fff3cd;color:#856404}.status-indicator.pending,.status-indicator.waiting{background:#e9ecef;color:#6c757d}.status-indicator.ready{background:#d1ecf1;color:#0c5460}.status-indicator.live{background:#cce5ff;color:#004085}.status-indicator.skipped{background:#e2e3e5;color:#6c757d}.btn-download-single{align-items:center;background:#0000;border:1px solid #28a745;border-radius:3px;color:#28a745;cursor:pointer;display:flex;justify-content:center;padding:.2rem}.btn-download-single:hover{background:#28a745;color:#fff}.action-btn.queued{animation:pulse-queued 2s infinite;background:#17a2b8!important;color:#fff}@keyframes pulse-queued{0%,to{opacity:.8}50%{opacity:1}}.queued-message{align-items:center;background:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;color:#0c5460;display:flex;font-size:.9rem;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem}.queued-message .spinner{animation:spin 1s linear infinite}.tree-view-container{gap:0;height:calc(100vh - 60px)}.tree-pane,.tree-view-container{background:#fff;background:var(--color-background,#fff);display:flex;overflow:hidden}.tree-pane{border-right:1px solid #e9ecef;border-right:1px solid var(--color-border,#e9ecef);flex:0 0 auto;flex-direction:column;height:100%;max-width:600px;min-width:280px}.resize-handle{background:#e9ecef;background:var(--color-surface,#e9ecef);cursor:col-resize;flex-shrink:0;transition:background .2s;width:4px}.resize-handle:hover{background:#007bff}.tree-header{align-items:center;background:#fff;background:var(--color-background,#fff);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--color-border,#e9ecef);display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1rem}.tree-header h3{color:#212529;color:var(--color-text,#212529);font-size:1rem;font-weight:600;margin:0}.btn-add-logger{align-items:center;background:#28a745;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;justify-content:center;padding:.5rem .875rem;transition:all .2s}.btn-add-logger:hover{background:#218838;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.btn-add-logger:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.btn-customer-setup{align-items:center;background:#007bff;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;justify-content:center;padding:.5rem .875rem;transition:all .2s}.btn-customer-setup:hover{background:#0056b3;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.btn-customer-setup:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.tree-content{flex:1 1;overflow-y:auto;padding:.5rem 0}.tree-site{margin-bottom:.5rem}.tree-site-header{align-items:center;cursor:pointer;display:flex;gap:.5rem;padding:.625rem 1rem;transition:background .15s;-webkit-user-select:none;user-select:none}.tree-site-header:hover{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.tree-site-name{color:#495057;flex:1 1;font-size:.9rem;font-weight:500}.tree-logger-count{background:#e9ecef;background:var(--color-surface,#e9ecef);border-radius:12px;color:#6c757d;font-size:.75rem;font-weight:600;padding:.125rem .5rem}.tree-loggers{padding-left:.75rem}.tree-logger{align-items:center;cursor:pointer;display:flex;gap:.625rem;padding:.5rem 1rem .5rem 2rem;transition:background .15s;-webkit-user-select:none;user-select:none}.tree-logger:hover{background:#f8f9fa;background:var(--color-background,#f8f9fa)}.tree-logger.selected{background:linear-gradient(90deg,#3b82f6,#06b6d4);background:linear-gradient(90deg,var(--color-primary,#3b82f6),var(--color-accent,#06b6d4));border-left:none;border-radius:0 4px 4px 0;padding-left:2rem}.tree-logger-name{color:#495057;color:var(--color-text,#495057);font-size:.875rem}.tree-logger.selected .tree-logger-name{color:#fff;font-weight:500}.tree-section-divider{background:#dee2e6;background:var(--color-border,#dee2e6);height:1px;margin:.5rem 0}.tree-fdw-site{cursor:pointer;padding:.5rem 1rem;transition:background .2s}.tree-fdw-site:hover,.tree-summary{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.tree-summary{border-top:1px solid #e9ecef;border-top:1px solid var(--color-border,#e9ecef);display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;padding:1rem}.summary-stat{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:.5rem}.tree-actions{border-top:1px solid #e9ecef;border-top:1px solid var(--color-border,#e9ecef);flex-direction:column;flex-shrink:0;gap:.5rem;padding:1rem}.detail-pane,.tree-actions{background:#fff;background:var(--color-background,#fff);display:flex}.detail-pane{flex:1 1;flex-direction:column;height:100%;overflow-y:auto}.detail-header{background:#fff;background:var(--color-background,#fff);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--color-border,#e9ecef);padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.detail-header h2{color:#212529;color:var(--color-text,#212529);font-size:1.5rem;font-weight:600;margin:0}.detail-actions{gap:.75rem}.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-secondary{background:#fff;background:var(--color-background,#fff);border:1px solid #dee2e6;border:1px solid var(--color-border,#dee2e6);color:#495057}.btn-secondary:hover,.detail-status-bar{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.detail-status-bar{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--color-border,#e9ecef);display:flex;gap:2rem;padding:1.5rem 2rem}.status-item{display:flex;flex-direction:column;gap:.25rem}.status-item label{color:#6c757d;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.status-value{align-items:center;display:flex;gap:.5rem}.state-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .625rem;text-transform:uppercase}.state-active{background:#d4edda;color:#155724}.state-hold{background:#fff3cd;color:#856404}.state-stopped{background:#e2e3e5;color:#383d41}.text-success{color:#28a745;font-weight:500}.text-muted{color:#6c757d}.detail-info{flex:1 1;padding:2rem}.info-section{margin-bottom:2rem}.info-section h3{color:#212529;color:var(--color-text,#212529);font-size:1rem;font-weight:600;margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{color:#6c757d;color:var(--color-textSecondary,#6c757d);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#212529;color:var(--color-text,#212529);font-size:.9rem}.detail-empty{align-items:center;color:#6c757d;color:var(--color-textSecondary,#6c757d);display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.detail-empty p{font-size:1rem;margin:0}.detail-empty .empty-icon{color:#cbd5e1}@media (max-width:768px){.tree-view-container{flex-direction:column}.tree-pane{max-width:none;min-height:300px;width:100%}.detail-pane{border-left:none;border-top:1px solid #e9ecef;border-top:1px solid var(--color-border,#e9ecef)}}.ml-analytics-container{margin:0 auto;max-width:1600px;padding:20px}.ml-header{margin-bottom:24px}.ml-layout{align-items:flex-start;display:flex;gap:24px}.ml-sidebar{flex:0 0 320px;max-height:calc(100vh - 40px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:20px}.ml-main{flex:1 1;min-width:0}.ml-empty-state{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:48px 32px;text-align:center}.empty-state-content h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 12px}.empty-state-content>p{color:var(--text-secondary);font-size:1rem;margin:0 0 32px}.feature-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px}.feature-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:20px;text-align:left;transition:transform .2s,box-shadow .2s}.feature-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.feature-card h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 8px}.feature-card p{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0}.ml-header h1{color:var(--text-primary);margin:0 0 10px}.ml-subtitle{color:var(--text-secondary);margin:0}.ml-config{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:24px}.ml-config h2{color:var(--text-primary);font-size:1.25rem;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);margin-bottom:8px}.form-control{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:14px;padding:10px 12px;width:100%}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a;outline:none}.form-hint{color:var(--text-secondary);font-size:12px;margin-top:6px}.date-range-group{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:16px}.date-inputs{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:12px}.date-input label{font-size:13px}.date-presets{display:flex;flex-wrap:wrap;gap:8px}.preset-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.preset-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.threshold-slider{margin-top:8px;width:100%}.threshold-value{background:var(--primary-color);border-radius:3px;color:#fff;float:right;font-size:12px;padding:2px 8px}.form-actions{display:flex;gap:12px;margin-top:24px}.btn-primary{background:#007bff;background:var(--primary-color,#007bff);border-radius:4px;display:inline-block;font-size:14px;padding:12px 24px;transition:background .2s}.btn-primary:hover{background:#0056b3;background:var(--primary-color-dark,#0056b3)}.btn-primary:disabled{background:#ccc;opacity:.6}.btn-secondary{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:12px 24px;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary)}.error-message{background:#fee;border-radius:4px;margin-top:16px;padding:12px 16px}.ml-results{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:24px}.ml-summary{margin-bottom:24px}.ml-summary h3{color:var(--text-primary);margin:0 0 16px}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.summary-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;display:flex;flex-direction:column;justify-content:center;min-height:65px;padding:14px 16px}.summary-item .label{color:var(--text-secondary);display:block;font-size:12px;line-height:1.2;margin-bottom:6px;text-transform:capitalize}.summary-item .value{word-wrap:break-word;color:var(--text-primary);display:block;font-size:16px;font-weight:600;line-height:1.3;overflow-wrap:break-word}.ml-chart{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;height:450px;margin-bottom:36px;padding:24px 24px 40px}.ml-chart h3{color:var(--text-primary);margin:0 0 16px}.ml-chart canvas{max-height:380px}.ml-data{margin-bottom:24px}.ml-data h3{color:var(--text-primary);margin:0 0 16px}.results-table-container{border:1px solid var(--border-color);border-radius:4px;overflow-x:auto}.results-table{border-collapse:collapse;font-size:14px;width:100%}.results-table thead{background:var(--bg-primary);position:-webkit-sticky;position:sticky;top:0}.results-table th{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:12px;text-align:left;text-transform:capitalize}.results-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:10px 12px}.results-table tbody tr:hover{background:var(--bg-primary)}.no-results{color:var(--text-secondary);padding:40px;text-align:center}.ml-export{display:flex;gap:12px;justify-content:flex-end}.export-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;padding:10px 20px;transition:all .2s}.export-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}body.dark-theme .ml-analytics-container{--bg-primary:#1e1e1e;--bg-secondary:#252525;--text-primary:#e0e0e0;--text-secondary:#999;--border-color:#444}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color-default);background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-default);fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(--xy-minimap-mask-stroke-color-default);stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(--xy-minimap-mask-stroke-width-default);stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-default);fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(--xy-minimap-node-stroke-color-default);stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(--xy-minimap-node-stroke-width-default);stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-dots-color-default);fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-lines-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected-default);box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color-default);background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color-default);background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-default);background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(--xy-controls-button-color-hover-default);color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.system-monitor{--sm-canvas-bg:#06090f;--sm-canvas-dot-color:#58a6ff0a;--sm-canvas-dot-size:24px;--sm-surface-primary:#0d1117d9;--sm-surface-secondary:#0d111759;--sm-surface-overlay:#06090fd1;--sm-surface-popover:#161b22f2;--sm-surface-handle:#30363d;--sm-surface-track:#ffffff0d;--sm-surface-stat-pill:#58a6ff0a;--sm-text-bright:#e6edf3;--sm-text-primary:#c9d1d9;--sm-text-secondary:#8b949e;--sm-text-muted:#6e7681;--sm-text-dim:#484f58;--sm-border-subtle:#ffffff0f;--sm-border-faint:#ffffff0a;--sm-border-divider:#ffffff0d;--sm-border-medium:#ffffff14;--sm-border-inset:#ffffff08;--sm-border-ui:#58a6ff14;--sm-accent-color:#58a6ff;--sm-accent-strong:#58a6ffb3;--sm-accent-medium:#58a6ff80;--sm-accent-border:#58a6ff1f;--sm-accent-soft:#58a6ff14;--sm-accent-faint:#58a6ff0f;--sm-zone-ext:175;--sm-zone-be:215;--sm-zone-fe:265;--sm-zone-text-l:75%;--sm-zone-accent-l:55%;--sm-zone-hover-l:65%;--sm-health-green:#3fb950;--sm-health-green-glow:#3fb95066;--sm-health-amber:#d29922;--sm-health-amber-glow:#d2992266;--sm-health-red:#f85149;--sm-health-red-glow:#f8514980;--sm-health-gray:#484f58;--sm-edge-internal:#30363d;--sm-font-family:"SF Mono","Fira Code","Cascadia Code",monospace;--sm-radius-node:10px;--sm-radius-group:12px;--sm-radius-popover:8px;--sm-radius-tooltip:6px;--sm-radius-label:4px;--sm-radius-pill:10px;--sm-shadow-node:0 1px 3px #0000004d;--sm-shadow-elevated:0 4px 16px #00000080;--sm-shadow-controls:0 4px 16px #00000080;background:var(--sm-canvas-bg);height:calc(100vh - 56px);position:relative;width:100%}.system-monitor.theme-deep-space{--sm-canvas-bg:#020818;--sm-canvas-dot-color:rgba(100,180,255,.035);--sm-canvas-dot-size:20px;--sm-surface-primary:#080e1ce0;--sm-surface-secondary:#080e1c66;--sm-surface-overlay:#020818d9;--sm-surface-popover:#0c1426f2;--sm-surface-handle:#1e2a42;--sm-surface-track:#64b4ff0a;--sm-surface-stat-pill:#64b4ff0d;--sm-text-bright:#d8e4f0;--sm-text-primary:#a8b8cc;--sm-text-secondary:#708098;--sm-text-muted:#506078;--sm-text-dim:#384860;--sm-border-subtle:#64b4ff0f;--sm-border-faint:#64b4ff08;--sm-border-divider:#64b4ff0d;--sm-border-medium:#64b4ff14;--sm-border-inset:#64b4ff05;--sm-border-ui:#64b4ff1a;--sm-accent-color:#64b4ff;--sm-accent-strong:#64b4ffb3;--sm-accent-medium:#64b4ff80;--sm-accent-border:#64b4ff24;--sm-accent-soft:#64b4ff14;--sm-accent-faint:#64b4ff0d;--sm-zone-ext:190;--sm-zone-be:220;--sm-zone-fe:280;--sm-zone-text-l:72%;--sm-zone-accent-l:52%;--sm-zone-hover-l:62%;--sm-health-green:#58d68d;--sm-health-green-glow:#58d68d59;--sm-health-amber:#e8b84a;--sm-health-amber-glow:#e8b84a59;--sm-health-red:#e74c3c;--sm-health-red-glow:#e74c3c73;--sm-health-gray:#384860;--sm-edge-internal:#1e2a42;--sm-font-family:"JetBrains Mono","Fira Code","Cascadia Code",monospace;--sm-radius-node:8px;--sm-radius-group:10px;--sm-radius-popover:6px;--sm-radius-tooltip:5px;--sm-radius-label:3px;--sm-radius-pill:8px;--sm-shadow-node:0 1px 4px #0006;--sm-shadow-elevated:0 6px 20px #0009;--sm-shadow-controls:0 4px 20px #0009}.system-monitor.theme-neon-grid{--sm-canvas-bg:#f5f0f8;--sm-canvas-dot-color:#c81e7812;--sm-canvas-dot-size:24px;--sm-surface-primary:#ffffffe0;--sm-surface-secondary:#f8f2fc8c;--sm-surface-overlay:#f8f4faeb;--sm-surface-popover:#fffffff5;--sm-surface-handle:#d0b8d0;--sm-surface-track:#c81e7814;--sm-surface-stat-pill:#c81e780f;--sm-text-bright:#1a0a1a;--sm-text-primary:#2e1e2e;--sm-text-secondary:#6a5070;--sm-text-muted:#8878a0;--sm-text-dim:#b8a8c8;--sm-border-subtle:#a01e781a;--sm-border-faint:#a01e780f;--sm-border-divider:#a01e7814;--sm-border-medium:#a01e7824;--sm-border-inset:#fff9;--sm-border-ui:#c81e781f;--sm-accent-color:#c81e78;--sm-accent-strong:#c81e78d9;--sm-accent-medium:#c81e788c;--sm-accent-border:#c81e782e;--sm-accent-soft:#c81e7812;--sm-accent-faint:#c81e780a;--sm-zone-ext:160;--sm-zone-be:330;--sm-zone-fe:50;--sm-zone-text-l:35%;--sm-zone-accent-l:42%;--sm-zone-hover-l:48%;--sm-health-green:#1a8a3e;--sm-health-green-glow:#1a8a3e33;--sm-health-amber:#b57a00;--sm-health-amber-glow:#b57a0033;--sm-health-red:#cc1833;--sm-health-red-glow:#cc183333;--sm-health-gray:#b8a8c8;--sm-edge-internal:#d0b8d0;--sm-font-family:"Share Tech Mono","Fira Code","Courier New",monospace;--sm-radius-node:3px;--sm-radius-group:4px;--sm-radius-popover:3px;--sm-radius-tooltip:2px;--sm-radius-label:2px;--sm-radius-pill:3px;--sm-shadow-node:0 1px 4px #64145014;--sm-shadow-elevated:0 4px 20px #6414501a;--sm-shadow-controls:0 4px 16px #64145014}.system-monitor.theme-ember{--sm-canvas-bg:#f8f2e8;--sm-canvas-dot-color:#b478280f;--sm-canvas-dot-size:24px;--sm-surface-primary:#fffcf6e6;--sm-surface-secondary:#faf4e88c;--sm-surface-overlay:#faf6eeeb;--sm-surface-popover:#fffdf8f5;--sm-surface-handle:#c8b898;--sm-surface-track:#b4782814;--sm-surface-stat-pill:#b478280f;--sm-text-bright:#1c1408;--sm-text-primary:#342810;--sm-text-secondary:#706050;--sm-text-muted:#988878;--sm-text-dim:#c0b0a0;--sm-border-subtle:#a06e1e1a;--sm-border-faint:#a06e1e0f;--sm-border-divider:#a06e1e14;--sm-border-medium:#a06e1e24;--sm-border-inset:#ffffff80;--sm-border-ui:#b478281f;--sm-accent-color:#be730f;--sm-accent-strong:#be730fd9;--sm-accent-medium:#be730f80;--sm-accent-border:#be730f29;--sm-accent-soft:#be730f12;--sm-accent-faint:#be730f0a;--sm-zone-ext:35;--sm-zone-be:15;--sm-zone-fe:340;--sm-zone-text-l:32%;--sm-zone-accent-l:40%;--sm-zone-hover-l:45%;--sm-health-green:#2d8a3e;--sm-health-green-glow:#2d8a3e2e;--sm-health-amber:#a87000;--sm-health-amber-glow:#a870002e;--sm-health-red:#c03030;--sm-health-red-glow:#c030302e;--sm-health-gray:#c0b0a0;--sm-edge-internal:#c8b898;--sm-font-family:"IBM Plex Mono","Fira Code","Consolas",monospace;--sm-radius-node:12px;--sm-radius-group:14px;--sm-radius-popover:10px;--sm-radius-tooltip:8px;--sm-radius-label:6px;--sm-radius-pill:12px;--sm-shadow-node:0 1px 4px #50320a14;--sm-shadow-elevated:0 4px 20px #50320a1a;--sm-shadow-controls:0 4px 16px #50320a14}.system-monitor .react-flow__renderer{background:radial-gradient(circle,var(--sm-canvas-dot-color) 1px,#0000 1px)!important;background-color:var(--sm-canvas-bg)!important;background-size:var(--sm-canvas-dot-size) var(--sm-canvas-dot-size)!important}.system-monitor .react-flow__background{display:none!important}.system-monitor .react-flow__minimap{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--sm-surface-primary)!important;border:1px solid var(--sm-accent-border)!important;border-radius:var(--sm-radius-popover)}.system-monitor .react-flow__minimap-mask{fill:var(--sm-accent-faint)!important;stroke:rgba(from var(--sm-accent-color) r g b/.2)!important}.system-monitor .react-flow__minimap-node{fill:rgba(from var(--sm-accent-color) r g b/.15)!important;stroke:none!important}.system-monitor .react-flow__controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--sm-surface-primary)!important;border:1px solid var(--sm-accent-border)!important;border-radius:var(--sm-radius-popover);box-shadow:var(--sm-shadow-controls)!important}.system-monitor .react-flow__controls-button{fill:var(--sm-text-muted)!important;background:#0000!important;border-color:var(--sm-border-ui)!important}.system-monitor .react-flow__controls-button:hover{fill:var(--sm-text-primary)!important;background:var(--sm-accent-soft)!important}.system-monitor .react-flow__panel{margin:12px!important}.monitor-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--sm-surface-overlay);border-bottom:1px solid var(--sm-border-ui);color:var(--sm-text-muted);display:flex;font-family:var(--sm-font-family);font-size:11px;justify-content:space-between;left:0;padding:6px 16px;position:absolute;right:0;top:0;z-index:10}.monitor-header-left{align-items:center;display:flex;gap:10px}.monitor-header-title{color:var(--sm-accent-strong);font-size:11px;font-weight:700;letter-spacing:2px;margin-right:6px;text-transform:uppercase}.monitor-header-stat{align-items:center;background:var(--sm-surface-stat-pill);border:1px solid var(--sm-border-ui);border-radius:var(--sm-radius-pill);display:flex;font-size:10px;gap:4px;padding:2px 8px}.monitor-header-stat strong{color:var(--sm-text-primary)!important;margin-left:2px!important}.monitor-header-right{align-items:center;display:flex;gap:10px}.monitor-refresh-indicator{animation:status-pulse 2s ease-in-out infinite;background:var(--sm-health-green);border-radius:50%;box-shadow:0 0 6px var(--sm-health-green-glow);height:5px;width:5px}.theme-picker{align-items:center;display:flex;gap:6px}.theme-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;height:12px;outline:none;padding:0;transition:transform .15s,border-color .15s;width:12px}.theme-swatch:hover{transform:scale(1.3)}.theme-swatch.active{border-color:var(--sm-text-bright)}.flow-node{--zone:var(--sm-zone-be);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--sm-surface-primary);border:1px solid var(--sm-border-subtle);border-radius:var(--sm-radius-node);box-shadow:var(--sm-shadow-node),inset 0 1px 0 var(--sm-border-inset);cursor:pointer;font-family:var(--sm-font-family);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.flow-node:hover{border-color:hsla(var(--zone),70%,var(--sm-zone-hover-l),.5);box-shadow:0 4px 20px #0006,0 0 20px hsla(var(--zone),70%,var(--sm-zone-accent-l),.08);transform:translateY(-1px)}.flow-node:before{background:linear-gradient(90deg,hsla(var(--zone),70%,var(--sm-zone-accent-l),.6),hsla(var(--zone),70%,var(--sm-zone-accent-l),.1));content:"";height:2px;left:0;position:absolute;right:0;top:0}.flow-node-title{align-items:center;border-bottom:1px solid var(--sm-border-faint);color:hsla(var(--zone),60%,var(--sm-zone-text-l),.9);display:flex;font-size:10px;font-weight:700;justify-content:space-between;letter-spacing:.8px;padding:7px 10px 6px;text-transform:uppercase}.flow-node-title-accent{border-radius:1px;flex-shrink:0;height:12px;margin-right:8px;opacity:.8;width:3px}.flow-node-title-left{align-items:center;display:flex}.flow-node-body{color:var(--sm-text-primary);font-size:11px;padding:7px 10px}.flow-node-metric{align-items:center;color:var(--sm-text-muted);display:flex;font-size:10px;justify-content:space-between;padding:1px 0}.flow-node-metric-value{font-feature-settings:"tnum";color:var(--sm-text-bright);font-variant-numeric:tabular-nums;font-weight:600}.zone-external{--zone:var(--sm-zone-ext)}.zone-backend{--zone:var(--sm-zone-be)}.zone-frontend{--zone:var(--sm-zone-fe)}.macro-node{min-width:170px}.item-node,.service-node{min-width:130px}.item-node{overflow:visible}.item-node-badge{border-radius:3px;color:var(--sm-surface-primary);font-size:8px;font-weight:700;letter-spacing:.5px;line-height:14px;padding:1px 6px;position:absolute;right:10px;top:-8px}.schema-node{min-width:100px}.user-node{min-width:110px}.flow-node-type-icon{flex-shrink:0;font-size:9px;margin-right:5px;opacity:.7}.group-node-expanded{background:var(--sm-surface-secondary)!important;border:1px solid var(--sm-border-divider)!important;border-radius:var(--sm-radius-group)!important;box-shadow:inset 0 0 40px #00000026!important;padding:0!important;transition:width .3s ease,height .3s ease}.zone-external .group-node-expanded{border-color:hsla(var(--sm-zone-ext),60%,45%,.15)!important;box-shadow:inset 0 0 40px #00000026,0 0 30px hsla(var(--sm-zone-ext),60%,45%,.04)!important}.zone-backend .group-node-expanded{border-color:hsla(var(--sm-zone-be),60%,50%,.15)!important;box-shadow:inset 0 0 40px #00000026,0 0 30px hsla(var(--sm-zone-be),60%,50%,.04)!important}.zone-frontend .group-node-expanded{border-color:hsla(var(--sm-zone-fe),60%,55%,.15)!important;box-shadow:inset 0 0 40px #00000026,0 0 30px hsla(var(--sm-zone-fe),60%,55%,.04)!important}@keyframes group-expand-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.react-flow__node.group-expand-enter{animation:group-expand-in .3s ease-out}.group-node-label{background:var(--sm-canvas-bg);border:1px solid var(--sm-border-subtle);border-radius:var(--sm-radius-label);color:var(--sm-text-muted);font-family:var(--sm-font-family);font-size:9px;font-weight:700;left:12px;letter-spacing:1.5px;padding:2px 10px;position:absolute;text-transform:uppercase;top:-9px;z-index:1}.expand-icon{color:var(--sm-text-dim);flex-shrink:0;font-size:7px;transition:transform .2s,color .15s}.expand-icon--expanded{transform:rotate(90deg)}.flow-node:hover .expand-icon{color:hsla(var(--zone),60%,var(--sm-zone-text-l),.8)}.status-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:7px;transition:box-shadow .3s;width:7px}.status-dot--green{background:var(--sm-health-green);box-shadow:0 0 6px var(--sm-health-green-glow)}.status-dot--amber{background:var(--sm-health-amber);box-shadow:0 0 6px var(--sm-health-amber-glow)}.status-dot--red{animation:status-pulse 2s ease-in-out infinite;background:var(--sm-health-red);box-shadow:0 0 8px var(--sm-health-red-glow)}.status-dot--gray{background:var(--sm-health-gray);box-shadow:none}.health-green{border-color:rgba(from var(--sm-health-green) r g b/.3)}.health-green:hover{box-shadow:0 4px 20px #0006,0 0 16px rgba(from var(--sm-health-green) r g b/.12)}.health-amber{border-color:rgba(from var(--sm-health-amber) r g b/.4);box-shadow:0 0 12px rgba(from var(--sm-health-amber) r g b/.15)}.health-red{animation:glow-pulse 2s ease-in-out infinite;border-color:rgba(from var(--sm-health-red) r g b/.4)}.health-gray{border-color:var(--sm-health-gray);opacity:.5}.detail-popover{animation:popover-in .15s ease-out;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--sm-surface-popover);border:1px solid var(--sm-border-medium);border-left:3px solid var(--sm-accent-medium);border-radius:var(--sm-radius-popover);box-shadow:0 8px 32px #0009;color:var(--sm-text-primary);font-family:var(--sm-font-family);font-size:11px;max-width:320px;min-width:200px;padding:12px 16px;pointer-events:auto;position:absolute;z-index:100}@keyframes popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.detail-popover-title{color:var(--sm-accent-strong);font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.detail-popover-row{color:var(--sm-text-muted);display:flex;font-size:10px;justify-content:space-between;padding:2px 0}.detail-popover-row-value{font-feature-settings:"tnum";color:var(--sm-text-bright);font-variant-numeric:tabular-nums;font-weight:600}.pool-bar{background:var(--sm-surface-track);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.pool-bar-fill{border-radius:2px;height:100%;transition:width .3s,background-color .3s}.sankey-edge path{transition:d .3s}.edge-tooltip{animation:popover-in .12s ease-out;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--sm-surface-popover);border:1px solid var(--sm-border-medium);border-left:2px solid var(--sm-accent-medium);border-radius:var(--sm-radius-tooltip);box-shadow:var(--sm-shadow-elevated);color:var(--sm-text-primary);font-family:var(--sm-font-family);font-size:10px;line-height:1.5;padding:6px 10px;white-space:nowrap}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes glow-pulse{0%,to{border-color:rgba(from var(--sm-health-red) r g b/.4);box-shadow:0 0 12px var(--sm-health-red-glow)}50%{border-color:rgba(from var(--sm-health-red) r g b/.6);box-shadow:0 0 20px var(--sm-health-red-glow)}}@keyframes band-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes band-stuck{0%,to{opacity:.5}50%{opacity:.25}}@keyframes flow-dash{to{stroke-dashoffset:-24}}@keyframes data-flash{0%{background-color:var(--sm-accent-soft)}to{background-color:initial}}.data-flash{animation:data-flash .5s ease-out}@keyframes node-expand-in{0%{opacity:0;transform:scale(.88) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.node-expand-enter{animation:node-expand-in .3s ease-out backwards;animation-delay:0s;animation-delay:var(--enter-delay,0s)}@keyframes slide-in-right{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.user-badge-enter{animation:slide-in-right .25s ease-out backwards;animation-delay:0s;animation-delay:var(--enter-delay,0s)}.system-monitor .react-flow__edge-textbg{fill:var(--sm-canvas-bg)!important}.system-monitor .react-flow__edge-text{fill:var(--sm-text-muted)!important;font-size:10px!important}.system-monitor .react-flow__handle{background:var(--sm-surface-handle)!important;border:none!important;height:6px!important;opacity:0;width:6px!important}.station-node{min-width:130px}.monitor-header-btn{align-items:center;background:var(--sm-surface-secondary);border:1px solid var(--sm-border);border-radius:4px;color:var(--sm-text-secondary);cursor:pointer;display:flex;font-family:var(--sm-font-family);font-size:12px;gap:4px;padding:2px 8px;transition:background .15s,color .15s}.monitor-header-btn:hover{background:var(--sm-surface-tertiary);color:var(--sm-text-primary)}.monitor-header-select{background:var(--sm-surface-secondary);border:1px solid var(--sm-border);border-radius:4px;color:var(--sm-text-secondary);cursor:pointer;font-family:var(--sm-font-family);font-size:10px;outline:none;padding:2px 6px}.monitor-header-select:hover{color:var(--sm-text-primary)}.monitor-header-select option{background:var(--sm-bg);color:var(--sm-text-primary)}.monitor-header-separator{background:var(--sm-border);height:16px;width:1px}.monitor-filter-dropdown{position:relative}.filter-badge{background:var(--sm-health-amber);border-radius:6px;color:#000;font-size:8px;font-weight:700;min-width:12px;padding:0 4px;text-align:center}.monitor-filter-panel{background:var(--sm-surface-secondary);border:1px solid var(--sm-border);border-radius:6px;box-shadow:0 4px 16px #0006;margin-top:4px;max-height:300px;min-width:180px;overflow-y:auto;padding:6px 0;position:absolute;right:0;top:100%;z-index:100}.monitor-filter-header{align-items:center;border-bottom:1px solid var(--sm-border);color:var(--sm-text-secondary);display:flex;font-family:var(--sm-font-family);font-size:10px;font-weight:700;justify-content:space-between;letter-spacing:.5px;margin-bottom:4px;padding:2px 10px 6px;text-transform:uppercase}.monitor-filter-clear{background:none;border:none;color:var(--sm-health-amber);cursor:pointer;font-family:var(--sm-font-family);font-size:9px;padding:0}.monitor-filter-clear:hover{text-decoration:underline}.monitor-filter-item{align-items:center;color:var(--sm-text-primary);cursor:pointer;display:flex;font-family:var(--sm-font-family);font-size:10px;gap:6px;padding:3px 10px}.monitor-filter-item:hover{background:var(--sm-surface-tertiary)}.monitor-filter-item input[type=checkbox]{accent-color:var(--sm-health-green);height:12px;width:12px}.mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:32px;outline:none;overflow:hidden;padding:0;width:32px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#eee}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-up .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.293 11.707a1 1 0 0 0 1.414 0L9 8.414l3.293 3.293a1 1 0 0 0 1.414-1.414l-4-4a1 1 0 0 0-1.414 0l-4 4a1 1 0 0 0 0 1.414Z'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-down .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.293 6.293a1 1 0 0 1 1.414 0L9 9.586l3.293-3.293a1 1 0 1 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414Z'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.002 3.002v12h6v-3h2v3h2v-12a.944.944 0 0 0-1-1h-8a.945.945 0 0 0-1 1Zm4 11h-2v-2h2v2Zm0-4h-2v-2h2v2Zm0-4h-2v-2h2v2Zm4 4h-2v-2h2v2Zm0-4h-2v-2h2v2Z'/%3E%3C/svg%3E");background-size:18px 18px}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.002 3.002v12h6v-3h2v3h2v-12a.944.944 0 0 0-1-1h-8a.945.945 0 0 0-1 1Zm4 11h-2v-2h2v2Zm0-4h-2v-2h2v2Zm0-4h-2v-2h2v2Zm4 4h-2v-2h2v2Zm0-4h-2v-2h2v2Z' fill='%23333'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.002 3.002v12h6v-3h2v3h2v-12a.944.944 0 0 0-1-1h-8a.945.945 0 0 0-1 1Zm4 11h-2v-2h2v2Zm0-4h-2v-2h2v2Zm0-4h-2v-2h2v2Zm4 4h-2v-2h2v2Zm0-4h-2v-2h2v2Z' fill='%23333'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#eee}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{font-size:16px;font-weight:700;text-align:center}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#ccc;color:#000}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#ccc}.automations-page{background:#f8fafc;background:var(--color-background,#f8fafc);color:#1e293b;color:var(--color-text,#1e293b);display:flex;height:calc(100vh - 60px)}.automations-page input[type=number],.automations-page input[type=text],.automations-page select,.automations-page textarea{background:#fff;background:var(--color-cardBackground,#fff);color:#1e293b;color:var(--color-text,#1e293b)}.automations-page.loading{align-items:center;justify-content:center}.automations-sidebar{background:#fff;background:var(--color-cardBackground,#fff);border-right:1px solid #e5e7eb;border-right:1px solid var(--color-cardBorder,#e5e7eb);display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;width:60px}.sidebar-item{align-items:center;background:#0000;border:none;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:.75rem .5rem;position:relative;transition:all .2s ease}.sidebar-item:hover{background:#3b82f60d;background:var(--color-surface,#3b82f60d)}.sidebar-item.active,.sidebar-item:hover{color:#3b82f6;color:var(--color-primary,#3b82f6)}.sidebar-item.active{background:#3b82f61a;background:var(--color-surface,#3b82f61a)}.sidebar-item.active:before{background:#3b82f6;background:var(--color-primary,#3b82f6);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.sidebar-label{font-size:.65rem;font-weight:500;margin-top:.25rem}.automations-content{flex:1 1;overflow:auto;padding:1.5rem}.automation-dashboard h2{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.dashboard-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.stat-card{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;display:flex;gap:1rem;padding:1.25rem;transition:all .2s ease}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 2px 8px #3b82f626;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.stat-icon.alarms{background:#ef44441a;color:#ef4444}.stat-icon.validations{background:#10b9811a;color:#10b981}.stat-icon.triggers{background:#f59e0b1a;color:#f59e0b}.stat-icon.calculated{background:#8b5cf61a;color:#8b5cf6}.stat-value{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.75rem;font-weight:700}.stat-label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.85rem}.dashboard-sections{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-section{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;padding:1rem}.dashboard-section h3{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.9rem;font-weight:600;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.activity-list,.events-list{display:flex;flex-direction:column;gap:.5rem}.event-item{align-items:center;background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:4px;display:flex;gap:.5rem;padding:.5rem}.event-name{flex:1 1}.event-status{background:#3b82f61a;background:var(--color-surface,#3b82f61a);border-radius:4px;font-size:.75rem;padding:.125rem .5rem}.empty-state{color:#64748b;color:var(--color-textSecondary,#64748b);padding:2rem;text-align:center}.automation-view{display:flex;flex-direction:column;height:100%}.view-header{margin-bottom:1rem}.view-header h2{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.5rem;font-weight:600;margin:0}.view-header p{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.9rem;margin:.25rem 0 0}.view-toolbar{align-items:center;margin-bottom:1rem}.toolbar-filters,.view-toolbar{display:flex;flex-wrap:wrap;gap:1rem}.toolbar-filters{align-items:flex-end;margin-left:auto}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem}.filter-group select{color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem}.filter-group select,.search-box{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;height:34px;padding:.4rem .75rem}.search-box{align-items:center;display:flex;gap:.5rem}.search-box input{background:#0000;border:none;color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;min-width:150px;outline:none}.search-box svg{color:#64748b;color:var(--color-textSecondary,#64748b)}.btn-primary{align-items:center;background:#3b82f6;background:var(--color-primary,#3b82f6);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background .2s ease}.btn-primary:hover:not(:disabled){background:#2563eb;background:var(--color-primaryHover,#2563eb)}.btn-primary:disabled{cursor:not-allowed;opacity:.45}.automations-page .btn-secondary{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.4rem .75rem;transition:all .2s ease}.automations-page .btn-secondary:hover{background:#f8fafc;background:var(--color-background,#f8fafc);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.automations-page .btn-danger{align-items:center;background:#0000;border:1px solid #ef4444;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.4rem .75rem;transition:all .2s ease}.automations-page .btn-danger:hover{background:#ef44441a}.btn-toggle{align-items:center;border:1px solid;border-radius:4px;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.35rem;line-height:1.4;padding:.25rem .5rem;transition:all .2s ease;vertical-align:middle}.btn-toggle.enabled{background:#22c55e1a;border-color:#22c55e;color:#16a34a}.btn-toggle.enabled:hover{background:#22c55e33}.btn-toggle.disabled{background:#64748b1a;border-color:#94a3b8;color:#64748b}.btn-toggle.disabled:hover{background:#64748b33}.btn-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.btn-icon:hover{background:#3b82f61a;background:var(--color-surface,#3b82f61a);border-color:#e2e8f0;border-color:var(--color-border,#e2e8f0);color:#3b82f6;color:var(--color-primary,#3b82f6)}.view-content{display:flex;flex:1 1;gap:1rem;overflow:hidden}.items-list{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;flex:1 1;overflow:auto}.items-table{border-collapse:collapse;width:100%}.items-table th{background:#f8fafc;background:var(--color-background,#f8fafc);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.05em;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.items-table td,.items-table th{padding:.75rem 1rem;vertical-align:middle}.items-table td{color:#1e293b;color:var(--color-text,#1e293b);font-size:.875rem;line-height:1.5}.items-table tbody tr{box-shadow:inset 0 -1px 0 #e5e7eb;box-shadow:inset 0 -1px 0 var(--color-cardBorder,#e5e7eb)}.items-table tr{cursor:pointer;transition:background .2s ease}.items-table tbody tr:hover{background:#3b82f608;background:var(--color-surface,#3b82f608)}.items-table tbody tr.selected{background:#3b82f614;background:var(--color-surface,#3b82f614)}.name-cell{font-weight:500}.trigger-cell{max-width:250px}.trigger-name{color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;font-weight:500;margin-bottom:.125rem}.trigger-formula-preview{color:#64748b;display:block;font-family:Fira Code,Consolas,monospace;font-size:.7rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-cell code{background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:4px;color:#1e293b;color:var(--color-text,#1e293b);font-family:Fira Code,Consolas,monospace;font-size:.8rem;padding:.125rem .375rem}.usage-badges{display:flex;gap:.375rem}.usage-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.7rem;font-weight:500;gap:.25rem;padding:.125rem .375rem}.usage-badge.alarms{background:#ef44441a;color:#ef4444}.usage-badge.validations{background:#10b9811a;color:#10b981}.usage-badge.calculated{background:#8b5cf61a;color:#8b5cf6}.no-usage{color:#94a3b8;color:var(--color-textSecondary,#94a3b8);font-size:.8rem;font-style:italic}.status-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;font-weight:500;line-height:1.4;padding:.125rem .5rem;vertical-align:middle}.status-badge.enabled{background:#10b9811a;color:#10b981}.status-badge.disabled{background:#f1f5f9;background:var(--color-background,#f1f5f9);color:#94a3b8;color:var(--color-textSecondary,#94a3b8)}.severity-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1.4;padding:.125rem .5rem;vertical-align:middle}.severity-badge.critical{background:#ef44441a;color:#ef4444}.severity-badge.warning{background:#f59e0b1a;color:#f59e0b}.severity-badge.info{background:#3b82f61a;color:#3b82f6}.severity-badge.error{background:#ef44441a;color:#ef4444}.validations-table thead tr:first-child th{border-bottom:none;padding-bottom:.25rem}.validations-table .triggers-header{border-left:1px solid #e5e7eb;border-left:1px solid var(--color-cardBorder,#e5e7eb);border-right:1px solid #e5e7eb;border-right:1px solid var(--color-cardBorder,#e5e7eb);text-align:center}.validations-table .sub-header th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);color:#94a3b8;color:var(--color-textTertiary,#94a3b8);font-size:.65rem;font-weight:500;padding-bottom:.5rem;padding-top:.25rem;text-transform:none}.validations-table .sub-header th:nth-child(4){border-left:1px solid #e5e7eb;border-left:1px solid var(--color-cardBorder,#e5e7eb)}.validations-table .sub-header th:nth-child(5){border-right:1px solid #e5e7eb;border-right:1px solid var(--color-cardBorder,#e5e7eb)}.validations-table tbody td:nth-child(4){border-left:1px solid #e5e7eb;border-left:1px solid var(--color-cardBorder,#e5e7eb)}.validations-table tbody td:nth-child(5){border-right:1px solid #e5e7eb;border-right:1px solid var(--color-cardBorder,#e5e7eb)}.trigger-count-badge{align-items:center;background:#8b5cf61a;border-radius:4px;color:#8b5cf6;display:inline-flex;font-size:.75rem;font-weight:600;justify-content:center;min-width:2rem;padding:.125rem .5rem}.trigger-count-badge:contains("—"),.trigger-count-badge:empty{background:#f1f5f9;background:var(--color-background,#f1f5f9);color:#94a3b8;color:var(--color-textSecondary,#94a3b8)}.applied-ranges{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-cardBorder,#e5e7eb);margin-top:1rem;padding-top:1rem}.applied-ranges-placeholder{background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:6px;padding:.75rem;text-align:center}.applied-ranges-placeholder .muted{color:#94a3b8;color:var(--color-textSecondary,#94a3b8);font-size:.85rem;font-style:italic}.alarm-form{max-height:70vh;overflow-y:auto}.alarm-form .form-group small{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.alarm-form textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.5rem;resize:vertical;width:100%}.severity-options{display:flex;gap:1rem}.severity-option{align-items:center;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.severity-option:hover{border-color:#9ca3af}.severity-option.selected{background:#3b82f60d;border-color:#3b82f6}.severity-option input[type=radio]{display:none}.action-badge{border-radius:4px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.125rem .5rem;text-transform:capitalize}.action-badge.flag{background:#f59e0b1a;color:#f59e0b}.action-badge.null{background:#ef44441a;color:#ef4444}.actions-cell{display:flex;gap:.25rem}.detail-panel{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;overflow:auto;width:380px}.detail-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);display:flex;justify-content:space-between;padding:1rem}.detail-header h3{color:#1e293b;color:var(--color-text,#1e293b);font-size:1rem;font-weight:600;margin:0}.detail-actions{align-items:center;display:flex;gap:.5rem}.btn-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin-left:.25rem;padding:0;transition:all .2s ease;width:24px}.btn-close:hover{background:#64748b26;color:#475569}.detail-content{flex-direction:column;padding:1rem}.detail-content,.detail-row{display:flex;gap:1rem}.detail-row .detail-section{flex:1 1}.detail-section{display:flex;flex-direction:column;gap:.375rem}.detail-section label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-section.info{align-items:center;color:#64748b;color:var(--color-textSecondary,#64748b);flex-direction:row;gap:.5rem;padding:.75rem}.detail-section.info,.formula-display{background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:6px;font-size:.85rem}.formula-display{color:#1e293b;color:var(--color-text,#1e293b);display:block;font-family:Fira Code,Consolas,monospace;overflow-x:auto;padding:.5rem .75rem}.placeholders-list{display:flex;flex-wrap:wrap;gap:.375rem}.placeholder-badge{background:#3b82f61a;background:var(--color-surface,#3b82f61a);border-radius:4px;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;font-size:.8rem;padding:.125rem .5rem}.placeholder-badge.status{background:#a855f726;border:1px dashed #a855f766;color:#7c3aed}.param-mappings-list{display:flex;flex-direction:column;gap:.375rem}.param-mapping-row{align-items:center;background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:4px;display:flex;gap:.5rem;padding:.375rem .5rem}.param-mapping-row code{background:#3b82f61a;background:var(--color-surface,#3b82f61a);border-radius:4px;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;font-size:.85rem;font-weight:600;padding:.125rem .5rem}.param-mapping-row .arrow{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.9rem}.param-mapping-row span:last-child{color:#1e293b;color:var(--color-text,#1e293b);font-size:.9rem}.text-muted{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.9rem;font-style:italic}.entities-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.entities-list li{align-items:center;background:#f8fafc;background:var(--color-background,#f8fafc);border-radius:4px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem}.items-list .empty-state{align-items:center;color:#64748b;color:var(--color-textSecondary,#64748b);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.items-list .empty-state h3{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.1rem;margin:1rem 0 .5rem}.items-list .empty-state p{font-size:.9rem;margin:0}@media (max-width:1024px){.detail-panel{width:320px}}@media (max-width:768px){.view-content{flex-direction:column}.detail-panel{width:100%}.toolbar-filters{margin-left:0;width:100%}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;background:var(--color-cardBackground,#fff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h2{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.25rem;font-weight:600;margin:0}.modal-header-actions{align-items:center;display:flex;gap:.5rem}.btn-toggle-ref{align-items:center;background:#f1f5f9;background:var(--color-surface,#f1f5f9);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.375rem .625rem;transition:all .2s ease}.btn-toggle-ref:hover{background:#e2e8f0;background:var(--color-background,#e2e8f0);color:#1e293b;color:var(--color-text,#1e293b)}.btn-toggle-ref.active{background:#3b82f6;background:var(--color-primary,#3b82f6);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);color:#fff}.modal-close{background:#0000;border:none;border-radius:4px;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;padding:.25rem;transition:all .2s ease}.modal-close:hover{background:#f1f5f9;background:var(--color-surface,#f1f5f9);color:#1e293b;color:var(--color-text,#1e293b)}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.modal-footer{background:#f8fafc;background:var(--color-background,#f8fafc);border-top:1px solid #e5e7eb;border-top:1px solid var(--color-cardBorder,#e5e7eb);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#1e293b;color:var(--color-text,#1e293b);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input[type=text],.form-group textarea{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;color:#1e293b;color:var(--color-text,#1e293b);font-size:.875rem;padding:.625rem .75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{font-family:SF Mono,Monaco,Inconsolata,monospace;min-height:80px;resize:vertical}.form-group textarea.valid{border-color:#22c55e;border-color:var(--color-success,#22c55e)}.form-group textarea.invalid{border-color:#ef4444;border-color:var(--color-error,#ef4444)}.form-group.checkbox label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.form-group.checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.form-hint{color:#64748b;color:var(--color-textSecondary,#64748b);display:block;font-size:.75rem;font-style:italic;margin-top:.25rem}.return-type-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.return-type-option{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.return-type-option:hover{background:#3b82f605}.return-type-option.selected,.return-type-option:hover{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.return-type-option.selected{background:#3b82f60d}.return-type-option input[type=radio]{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6);height:16px;margin:0;width:16px}.return-type-badge{border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.125rem .5rem;text-transform:uppercase}.return-type-badge.number{background:#8b5cf61a;color:#7c3aed}.return-type-badge.boolean{background:#3b82f61a;color:#2563eb}.return-type-hint{margin-left:auto}.return-type-hint,.return-type-usage{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem}.return-type-usage{margin-left:.5rem}.return-type-suggestion{align-items:center;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:6px;color:#b45309;display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem}.return-type-suggestion button{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.7rem;font-weight:500;margin-left:auto;padding:.25rem .5rem}.return-type-suggestion button:hover{background:#d97706}.formula-feedback{border-radius:4px;font-size:.75rem;margin-top:.5rem;padding:.25rem .5rem}.formula-feedback.parsing{color:#64748b;color:var(--color-textSecondary,#64748b)}.formula-feedback.valid{background:#22c55e1a;color:#22c55e;color:var(--color-success,#22c55e)}.formula-feedback.invalid{background:#ef44441a;color:#ef4444;color:var(--color-error,#ef4444)}.modal-content.wide{max-width:800px}.modal-content.trigger-modal{height:85vh}.modal-content.extra-wide{max-width:1100px}.modal-body-split{display:flex;flex:1 1;overflow:hidden}.trigger-form-panel{border-right:1px solid #e5e7eb;border-right:1px solid var(--color-cardBorder,#e5e7eb);display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:1.5rem}.trigger-form-panel .form-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-cardBorder,#e5e7eb);display:flex;gap:.75rem;justify-content:flex-end;margin-top:auto;padding-top:1rem}.formula-status{font-size:.75rem;margin-top:.5rem}.formula-status .status-parsing{color:#64748b;color:var(--color-textSecondary,#64748b)}.formula-status .status-valid{color:#22c55e;color:var(--color-success,#22c55e)}.formula-status .status-invalid{color:#ef4444;color:var(--color-error,#ef4444)}.cel-reference-panel{background:#f8fafc;background:var(--color-surface,#f8fafc);min-width:280px;overflow-y:auto;padding:1rem;width:320px}.cel-reference-panel h3{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);color:#1e293b;color:var(--color-text,#1e293b);font-size:.875rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.ref-section{margin-bottom:1rem}.ref-section h4{color:#3b82f6;color:var(--color-primary,#3b82f6);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.ref-section code{border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:3px;display:inline-block;font-size:.7rem;margin:.125rem;padding:.125rem .375rem}.ref-section code,.ref-section code.ref-example{background:#fff;background:var(--color-cardBackground,#fff)}.ref-section code.ref-example{display:block;font-size:.8rem;padding:.5rem}.ref-section .ref-desc{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.7rem;margin:.25rem 0 0}.ref-section .ref-desc code{border:none;font-size:.7rem;padding:.0625rem .25rem}.ref-grid{display:flex;flex-direction:column;gap:.25rem}.ref-grid div{gap:.125rem}.ref-funcs,.ref-grid div{display:flex;flex-wrap:wrap}.ref-funcs{gap:.25rem}.ref-examples{display:flex;flex-direction:column;gap:.375rem}.ref-examples code{display:block;font-size:.7rem;padding:.375rem .5rem;width:100%}.form-row{align-items:flex-start;display:flex;gap:1rem}.form-group.flex-1{flex:1 1}.checkbox-inline{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;display:flex;gap:.5rem;padding:.625rem .75rem}.checkbox-inline input[type=checkbox]{cursor:pointer;height:16px;width:16px}.checkbox-inline label{cursor:pointer;font-weight:400;margin:0}.formula-editor-container{border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;overflow:hidden}.formula-help{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;margin-top:.5rem}.formula-help code{background:#f1f5f9;background:var(--color-surface,#f1f5f9);border-radius:3px;font-size:.75rem;padding:.125rem .375rem}.formula-reference{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;margin-top:1rem;overflow:hidden}.formula-reference .reference-title{background:#f1f5f9;background:var(--color-background,#f1f5f9);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;padding:.5rem .75rem}.formula-reference .reference-content{display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.formula-reference .reference-section{color:#1e293b;color:var(--color-text,#1e293b);font-size:.75rem}.formula-reference .reference-section strong{color:#64748b;color:var(--color-textSecondary,#64748b);margin-right:.5rem}.formula-reference .reference-section code{background:#fff;background:var(--color-cardBackground,#fff);border-radius:3px;font-size:.7rem;margin-right:.25rem;padding:.125rem .375rem}.cc-modal{max-height:90vh;overflow-y:auto}.cc-form{gap:1.5rem;padding:1.5rem}.cc-form,.form-section{display:flex;flex-direction:column}.form-section{gap:.75rem}.form-section-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);color:#64748b;color:var(--color-textSecondary,#64748b);padding-bottom:.5rem}.form-section-header,.form-subsection-header{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-subsection-header{color:#94a3b8;color:var(--color-textTertiary,#94a3b8);margin-bottom:.5rem;margin-top:1rem}.trigger-preview{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.trigger-preview label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:500}.trigger-preview .formula-display{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.85rem;padding:.5rem .75rem}.trigger-preview .placeholders-list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.trigger-preview .placeholders-list .label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem}.param-mappings{display:flex;flex-direction:column;gap:.75rem}.mapping-table{border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-collapse:collapse;border-radius:6px;overflow:hidden;width:100%}.mapping-table th{background:#f8fafc;background:var(--color-surface,#f8fafc);color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;padding:.625rem .75rem;text-align:left}.mapping-table td,.mapping-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb)}.mapping-table td{padding:.5rem .75rem}.mapping-table tr:last-child td{border-bottom:none}.mapping-table .param-name code{background:#3b82f614;border-radius:4px;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;font-size:.85rem;font-weight:500;padding:.25rem .5rem}.mapping-table select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;font-size:.875rem;padding:.5rem;width:100%}.mapping-table select.unmapped{background:#f59e0b0d;border-color:#f59e0b}.mapping-warning{align-items:center;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:6px;color:#b45309;display:flex;font-size:.8rem;gap:.5rem;padding:.5rem .75rem}.loading-channels,.no-channels{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:6px;color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.875rem;padding:1rem;text-align:center}.trigger-mapping-section{margin-bottom:1rem}.trigger-mapping-section:last-of-type{margin-bottom:0}.trigger-mapping-header{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;padding-left:.25rem;text-transform:uppercase}.status-hint{color:#94a3b8;color:var(--color-textSecondary,#94a3b8);font-size:.7rem;font-style:italic;margin-left:.5rem}.validation-modal{max-height:90vh;overflow-y:auto}.validation-form{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.validation-form .form-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-cardBorder,#e5e7eb);display:flex;gap:.75rem;justify-content:flex-end;margin-top:auto;padding-top:1rem}.action-subsection{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.action-subsection .subsection-header{color:#1e293b;color:var(--color-text,#1e293b);font-size:.75rem;font-weight:600;margin-bottom:.25rem}.radio-label{align-items:center;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem}.radio-label input[type=radio]{cursor:pointer;margin:0}.action-groups{display:flex;flex-direction:column;gap:1rem}.action-group{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;padding:1rem}.action-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.action-header label{color:#1e293b;color:var(--color-text,#1e293b);font-size:.8rem;font-weight:600;margin:0}.action-header select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;font-size:.8rem;min-width:120px;padding:.375rem .625rem}.action-body{display:flex;flex-direction:column;gap:.75rem}.preset-options{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.preset-options label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;margin:0}.preset-options select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;font-size:.85rem;min-width:100px;padding:.375rem .625rem}.preset-params{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.preset-params label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;margin:0}.preset-params input[type=number],.preset-params input[type=text]{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;font-size:.85rem;padding:.375rem .625rem;width:80px}.preset-params input[type=number]:focus,.preset-params input[type=text]:focus{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 2px #3b82f61a;outline:none}.formula-preview{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;display:flex;gap:.5rem;padding:.5rem .75rem}.formula-preview .preview-label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.formula-preview code{background:#3b82f614;border-radius:4px;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;font-size:.85rem;padding:.125rem .5rem}.trigger-select-row{align-items:center;display:flex;gap:.5rem}.trigger-select-row label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;margin:0;white-space:nowrap}.trigger-select-row select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;flex:1 1;font-size:.85rem;padding:.5rem}.action-group.inactive{background:#0000;border-style:dashed;opacity:.7}.action-group.inactive .action-body{display:none}.action-badges{display:flex;flex-direction:column;gap:.25rem}.action-badge-item{background:#8b5cf61a;border-radius:4px;color:#7c3aed;display:inline-block;font-family:Fira Code,Consolas,monospace;font-size:.7rem;padding:.125rem .5rem;white-space:nowrap}.ref-section-header{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .625rem;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ref-section-header:hover{background:#f1f5f9;background:var(--color-surface,#f1f5f9);border-color:#3b82f6;border-color:var(--color-primary,#3b82f6)}.ref-section-header.expanded{border-bottom-color:#0000;border-bottom-left-radius:0;border-bottom-right-radius:0}.ref-section-header svg{color:#64748b;color:var(--color-textSecondary,#64748b);flex-shrink:0;transition:transform .2s ease}.ref-section-header.expanded svg{transform:rotate(180deg)}.ref-section-header h4{color:#3b82f6;color:var(--color-primary,#3b82f6);flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.ref-preview{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:0 0 6px 6px;border-top:none;display:flex;flex-wrap:wrap;gap:.375rem;margin-top:-1px;padding:.5rem .625rem .625rem}.ref-preview code{background:#f1f5f9;background:var(--color-surface,#f1f5f9);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px;color:#1e293b;color:var(--color-text,#1e293b);font-family:Fira Code,Consolas,monospace;font-size:.75rem;padding:.1875rem .5rem}.ref-details{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:none;display:flex;flex-direction:column;gap:0;overflow:hidden}.ref-detail-row{grid-gap:.5rem;align-items:start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);display:grid;font-size:.7rem;gap:.5rem;grid-template-columns:90px 1fr;padding:.375rem .625rem}.ref-detail-row:last-child{border-bottom:none}.ref-detail-row:hover{background:#f8fafc;background:var(--color-surface,#f8fafc)}.ref-detail-row code{background:#3b82f61a;border-radius:3px;color:#3b82f6;color:var(--color-primary,#3b82f6);font-family:Fira Code,Consolas,monospace;font-size:.7rem;padding:.125rem .375rem;white-space:nowrap}.ref-detail-row .detail-content{display:flex;flex-direction:column;gap:.125rem}.ref-detail-row .detail-desc{color:#1e293b;color:var(--color-text,#1e293b);line-height:1.4}.ref-detail-row .detail-example{background:#f1f5f9;background:var(--color-surface,#f1f5f9);border-radius:3px;color:#64748b;color:var(--color-textSecondary,#64748b);display:inline-block;font-family:Fira Code,Consolas,monospace;font-size:.65rem;margin-top:.125rem;padding:.125rem .375rem}.history-table{border-collapse:collapse;font-size:.875rem;width:100%}.history-table td,.history-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);padding:.75rem 1rem;text-align:left}.history-table th{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.history-table tbody tr:hover,.history-table th{background:#f8fafc;background:var(--color-surface,#f8fafc)}.history-table .severity-cell{align-items:center;display:flex;gap:.5rem}.history-table .severity-icon{flex-shrink:0}.history-table .severity-icon.critical{color:#ef4444}.history-table .severity-icon.medium{color:#f59e0b}.history-table .severity-icon.low{color:#3b82f6}.history-table .severity-text{font-weight:500;text-transform:capitalize}.history-table .alarm-name{color:#1e293b;color:var(--color-text,#1e293b);font-weight:500}.history-table .location,.history-table .timestamp{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.8125rem}.history-table .timestamp{white-space:nowrap}.history-table .count{font-weight:500;text-align:center}.history-table tr.severity-critical,.history-table tr.severity-high{border-left:3px solid #ef4444}.history-table tr.severity-medium{border-left:3px solid #f59e0b}.history-table tr.severity-low{border-left:3px solid #3b82f6}.history-table .status-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.history-table .status-badge.status-pending{background:#fef3c7;color:#92400e}.history-table .status-badge.status-active{background:#fee2e2;color:#dc2626}.history-table .status-badge.status-acknowledged{background:#dbeafe;color:#1d4ed8}.history-table .status-badge.status-cleared{background:#dcfce7;color:#16a34a}.history-table tr.hidden-row{background:#f8fafc;background:var(--color-surface,#f8fafc);opacity:.5}.history-table .actions-col{width:40px}.history-table .actions-cell{text-align:center}.history-table .actions-cell .btn-icon{background:#0000;border:none;border-radius:4px;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;opacity:.5;padding:4px;transition:opacity .2s,color .2s}.history-table tbody tr:hover .actions-cell .btn-icon{opacity:1}.history-table .actions-cell .btn-icon:hover{background:#3b82f61a;background:var(--color-surface,#3b82f61a);color:#3b82f6;color:var(--color-primary,#3b82f6)}.automation-view .view-toolbar{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-cardBorder,#e5e7eb);display:flex;justify-content:space-between;padding:.75rem 1rem}.automation-view .view-toolbar .toolbar-filters{align-items:flex-end;display:flex;gap:.5rem}.automation-view .view-toolbar .btn{align-items:center;display:flex;gap:.5rem}.automation-view .view-toolbar .btn.active{background:#3b82f6;background:var(--color-primary,#3b82f6);color:#fff}.history-table .clickable-row{cursor:pointer}.event-detail-modal{max-height:85vh;max-width:90vw;overflow-y:auto;width:600px}.event-detail-modal .modal-header h2{align-items:center;display:flex;gap:.75rem}.event-detail-modal .severity-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.event-detail-modal .severity-indicator.severity-critical{background:#ef4444}.event-detail-modal .severity-indicator.severity-high{background:#f97316}.event-detail-modal .severity-indicator.severity-medium{background:#eab308}.event-detail-modal .severity-indicator.severity-low{background:#22c55e}.event-detail-modal .modal-body{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.event-detail-modal .detail-section{background:#f8fafc;background:var(--color-surface,#f8fafc);border-radius:8px;padding:1rem}.event-detail-modal .detail-section h3{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.event-detail-modal .detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.event-detail-modal .detail-grid.timeline-grid{grid-template-columns:repeat(3,1fr)}.event-detail-modal .detail-item{display:flex;flex-direction:column;gap:.25rem}.event-detail-modal .detail-item.full-width{grid-column:1/-1;margin-top:.5rem}.event-detail-modal .detail-item label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:500}.event-detail-modal .detail-item span{color:#1e293b;color:var(--color-text,#1e293b);font-size:.875rem}.event-detail-modal .detail-item code.formula-display{display:block;font-family:Fira Code,monospace;font-size:.8rem;overflow-x:auto;padding:.75rem;white-space:pre-wrap;word-break:break-all}.event-detail-modal .detail-item code.formula-display,.event-detail-modal .trigger-context-display{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:4px}.event-detail-modal .trigger-context-display{overflow:hidden}.event-detail-modal .trigger-context-display pre{font-family:Fira Code,monospace;font-size:.8rem;margin:0;overflow-x:auto;padding:.75rem;white-space:pre-wrap;word-break:break-all}.event-detail-modal .severity-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.event-detail-modal .severity-badge.severity-critical{background:#fee2e2;color:#b91c1c}.event-detail-modal .severity-badge.severity-high{background:#ffedd5;color:#c2410c}.event-detail-modal .severity-badge.severity-medium{background:#fef3c7;color:#a16207}.event-detail-modal .severity-badge.severity-low{background:#dcfce7;color:#15803d}.event-detail-modal .modal-footer{background:#fff;background:var(--color-cardBackground,#fff);border-top:1px solid #e5e7eb;border-top:1px solid var(--color-cardBorder,#e5e7eb);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.event-detail-modal .modal-footer .btn{align-items:center;display:flex;gap:.5rem}.status-preset-builder{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.status-preset-builder>label{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.75rem;font-weight:600}.automations-page .quality-toggle{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:flex;gap:0;overflow:hidden}.automations-page .quality-btn{background:#fff;background:var(--color-surface,#fff);border:none;color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;flex:1 1;font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .15s}.automations-page .quality-btn:first-child{border-right:1px solid #e2e8f0;border-right:1px solid var(--color-border,#e2e8f0)}.automations-page .quality-btn:hover:not(.active){background:#f8fafc;background:var(--color-background,#f8fafc)}.automations-page .quality-good.active{background:#4caf50;color:#fff}.automations-page .quality-bad.active{background:#f44336;color:#fff}.automations-page .status-flags-header{color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 0;-webkit-user-select:none;user-select:none}.automations-page .status-flags-header:hover{color:#3b82f6;color:var(--color-primary,#3b82f6)}.automations-page .status-checkbox-list{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:flex;flex-direction:column;gap:.15rem;padding:.35rem}.automations-page .status-checkbox-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;margin-bottom:0;padding:.25rem .35rem}.automations-page .status-checkbox-item:hover{background:#f8fafc;background:var(--color-background,#f8fafc)}.automations-page .status-checkbox-item input[type=checkbox]{cursor:pointer;height:14px;width:14px}.automations-page .status-color-swatch{border:1px solid #00000026;border-radius:50%;display:inline-block;flex-shrink:0;height:16px;width:16px}.automations-page .status-checkbox-name{color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-weight:400}.automations-page .status-bit-number{color:#888;color:var(--color-textSecondary,#888);font-family:Fira Code,Consolas,monospace;font-size:.75rem;min-width:20px;text-align:right}.channel-search-box{align-items:center;background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;display:flex;gap:.5rem;margin-bottom:.375rem;padding:.4rem .625rem}.channel-search-box input{background:#0000;border:none;color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-size:.85rem;min-width:0;outline:none}.channel-search-box svg,.channel-search-clear{color:#64748b;color:var(--color-textSecondary,#64748b);flex-shrink:0}.channel-search-clear{align-items:center;background:#e2e8f0;background:var(--color-background,#e2e8f0);border:none;border-radius:50%;cursor:pointer;display:flex;height:18px;justify-content:center;padding:0;width:18px}.channel-search-clear:hover{background:#cbd5e1;background:var(--color-border,#cbd5e1);color:#1e293b;color:var(--color-text,#1e293b)}.selected-channel-badge{align-items:center;background:#22c55e14;border:1px solid #22c55e59;border-radius:6px;color:#16a34a;display:flex;gap:.5rem;margin-bottom:.375rem;padding:.5rem .75rem}.selected-channel-badge svg{flex-shrink:0}.selected-channel-name{color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-size:.875rem;font-weight:600}.selected-channel-clear{align-items:center;background:#0000;border:none;border-radius:50%;color:#94a3b8;color:var(--color-textSecondary,#94a3b8);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;padding:0;transition:all .15s;width:20px}.selected-channel-clear:hover{background:#00000014;color:#1e293b;color:var(--color-text,#1e293b)}select.target-channel-select{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;color:#1e293b;color:var(--color-text,#1e293b);font-size:.85rem;padding:.25rem;width:100%}select.target-channel-select option{padding:.25rem .5rem}select.target-channel-select option:checked{background:#3b82f6;background:var(--color-primary,#3b82f6);color:#fff}.notif-sub-tabs{background:#fff;background:var(--color-cardBackground,#fff);border-bottom:none;display:flex;gap:.25rem;margin-bottom:1rem;padding:0 1rem}.notif-sub-tab{align-items:center;background:#0000;border:none;border-top:2px solid #0000;color:#64748b;color:var(--color-textSecondary,#64748b);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:.625rem 1rem;transition:all .15s}.notif-sub-tab:hover{background:#00000005;color:#1e293b;color:var(--color-text,#1e293b)}.notif-sub-tab.active{border-top-color:#3b82f6;border-top-color:var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6)}.notif-address-cell{color:#64748b;color:var(--color-textSecondary,#64748b);font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.8rem;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-test-result{align-items:center;display:inline-flex;margin-left:4px}.notif-test-result.success{color:#16a34a}.notif-test-result.error{color:#ef4444}.notif-message{align-items:center;border-radius:6px;display:flex;font-size:.85rem;gap:8px;margin-bottom:1rem;padding:.625rem .875rem}.notif-message.success{background:#16a34a14;border:1px solid #16a34a33;color:#16a34a}.notif-message.error{background:#ef444414;border:1px solid #ef444433;color:#ef4444}.notif-password-field{-webkit-text-security:disc}.smtp-settings-form{max-width:560px}.notif-channel-picker{background:#fff;background:var(--color-cardBackground,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:6px;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto;padding:4px}.notif-channel-option{align-items:center;border:1px solid #0000;border-radius:4px;cursor:pointer;display:flex;font-size:.85rem;gap:12px;padding:.5rem .75rem;transition:all .12s ease;-webkit-user-select:none;user-select:none}.notif-channel-option:hover{background:#00000008;background:var(--color-surface,#00000008)}.notif-channel-option.selected{background:#3b82f60f;border-color:#3b82f633}.notif-channel-option input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6);cursor:pointer;flex-shrink:0;height:15px;margin:0 8px 0 0;width:15px}.btn-inline-create{align-items:center;background:#0000;border:1px dashed #3b82f6;border:1px dashed var(--color-primary,#3b82f6);border-radius:6px;color:#3b82f6;color:var(--color-primary,#3b82f6);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.375rem;justify-content:center;margin-top:.5rem;padding:.5rem .75rem;transition:all .15s ease;width:100%}.btn-inline-create:hover{background:#3b82f60d;border-style:solid}.inline-create-container{background:#f8fafc;background:var(--color-background,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--color-cardBorder,#e5e7eb);border-radius:8px;margin-top:.5rem;padding:1rem}.inline-create-container.nested{background:#fff;background:var(--color-cardBackground,#fff);border-color:#3b82f64d;margin-top:.5rem}.inline-create-header{color:#64748b;color:var(--color-textSecondary,#64748b);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.inline-create-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.inline-create-error{align-items:center;background:#ef444414;border:1px solid #ef444433;border-radius:6px;color:#ef4444;display:flex;font-size:.8rem;gap:.375rem;margin-bottom:.75rem;padding:.5rem .75rem}.btn-sm{font-size:.8rem!important;padding:.375rem .75rem!important}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:-webkit-fit-content;width:fit-content}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{background:#0000;opacity:1;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{box-shadow:inset 0 6px 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;height:3px;left:3px;top:0;width:100%}.xterm .xterm-scrollable-element>.shadow.left{box-shadow:inset 6px 0 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;height:100%;left:0;top:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;height:3px;left:0;top:0;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:inset 6px 0 6px -6px #000;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.login-container{align-items:center;background:#3a4a48;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#2d403c;font-size:36px;font-weight:700;letter-spacing:1px;margin:0 0 8px}.login-header p{color:#666;font-size:14px;margin:0}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input{border:2px solid #e1e8ed;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s}.form-group input:focus{border-color:#2d403c;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;padding:12px;text-align:center}.login-button{background:linear-gradient(135deg,#2d403c,#3d504c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:transform .1s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 4px 12px #2d403c66;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #e1e8ed;margin-top:32px;padding-top:24px;text-align:center}.login-footer p{color:#999;font-size:13px;margin:0}.login-page-logo{align-items:center;bottom:24px;display:flex;justify-content:center;left:0;position:fixed;right:0;z-index:10}.login-page-logo img{display:block;height:40px;mix-blend-mode:lighten;width:auto}@media (prefers-color-scheme:dark){.login-container{background:linear-gradient(135deg,#1a202c,#2d3748)}.login-box{background:#2d3748;color:#e2e8f0}.login-header h1{color:#90cdf4}.login-header p{color:#cbd5e0}.form-group label{color:#e2e8f0}.form-group input{background:#1a202c;border-color:#4a5568;color:#e2e8f0}.form-group input:focus{border-color:#90cdf4}.login-footer{border-top-color:#4a5568}.login-footer p{color:#a0aec0}}.mode-badge{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;display:flex;height:48px;justify-content:center;opacity:.8;outline:none;padding:10px;position:relative;transition:background-color .2s,opacity .2s;width:48px}.mode-badge:hover{background-color:#334155;background-color:var(--color-navHover,#334155);opacity:1}.mode-badge:focus{outline:none}.mode-badge svg{height:32px;width:32px}.mode-cloud{color:#60a5fa}.mode-sync{color:#fbbf24}.mode-offline{color:#34d399}.ws-status-dot{border:2px solid #1e293b;border:2px solid var(--color-navBackground,#1e293b);border-radius:50%;bottom:6px;height:10px;position:absolute;right:6px;transition:background-color .3s;width:10px}.ws-status-dot.ws-connected{background-color:#22c55e}.ws-status-dot.ws-connecting{animation:ws-pulse 1.5s ease-in-out infinite;background-color:#3b82f6}.ws-status-dot.ws-reconnecting{animation:ws-pulse 1s ease-in-out infinite;background-color:#f59e0b}.ws-status-dot.ws-disconnected{background-color:#6b7280}.ws-status-dot.ws-error{background-color:#ef4444}@keyframes ws-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none;position:fixed;right:20px;z-index:10000}.toast{align-items:flex-start;animation:toast-slide-in .3s ease-out;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:8px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;gap:12px;min-width:300px;padding:12px 16px;pointer-events:auto}.toast:hover{opacity:.95}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-content{flex:1 1;min-width:0}.toast-title{color:#fff;color:var(--text-primary,#fff);font-size:14px;font-weight:600;margin-bottom:4px}.toast-message{word-wrap:break-word;font-size:13px}.toast-close,.toast-message{color:#aaa;color:var(--text-secondary,#aaa)}.toast-close{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;opacity:.6;padding:0}.toast-close:hover{opacity:1}.toast-success{border-left:4px solid #4caf50}.toast-success .toast-icon{background:#4caf5026;color:#4caf50}.toast-error{border-left:4px solid #f44336}.toast-error .toast-icon{background:#f4433626;color:#f44336}.toast-warning{border-left:4px solid #ff9800}.toast-warning .toast-icon{background:#ff980026;color:#ff9800}.toast-info{border-left:4px solid #2196f3}.toast-info .toast-icon{background:#2196f326;color:#2196f3}.chat-panel-fab{align-items:center;background:#4a6cf7;background:var(--accent-color,#4a6cf7);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 16px #0000004d;color:#fff;cursor:pointer;display:flex;height:52px;justify-content:center;position:fixed;right:24px;transition:transform .15s,box-shadow .15s;width:52px;z-index:9998}.chat-panel-fab:hover{box-shadow:0 6px 20px #0006;transform:scale(1.08)}.chat-panel-badge{align-items:center;background:#ef4444;border-radius:9px;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:-4px;top:-4px}body.chat-panel-open main{margin-right:380px;transition:margin-right .2s ease-out}.chat-panel-expanded{animation:chat-panel-slide-in .2s ease-out;background:#1a1a2e;background:var(--bg-primary,#1a1a2e);border-left:1px solid #333;border-left:1px solid var(--border-color,#333);bottom:0;box-shadow:-4px 0 24px #0000004d;display:flex;flex-direction:column;position:fixed;right:0;top:60px;width:380px;z-index:9998}@keyframes chat-panel-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.chat-panel-fullscreen{background:#1a1a2e;background:var(--bg-primary,#1a1a2e);bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:60px;z-index:9998}.chat-panel-header{align-items:center;border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;flex-shrink:0;justify-content:space-between;padding:10px 14px}.chat-panel-title{align-items:center;color:#e0e0e0;color:var(--text-primary,#e0e0e0);display:flex;font-size:14px;font-weight:600;gap:8px}.chat-panel-mode-badge{border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;padding:1px 6px;text-transform:uppercase}.chat-panel-mode-user{background:#10b98126;color:#10b981}.chat-panel-mode-admin{background:#8b5cf626;color:#8b5cf6}.chat-panel-header-actions{display:flex;gap:4px}.chat-panel-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;color:var(--text-secondary,#999);cursor:pointer;display:flex;padding:4px}.chat-panel-icon-btn:hover{background:#16213e;background:var(--bg-secondary,#16213e);color:#e0e0e0;color:var(--text-primary,#e0e0e0)}.claude-terminal{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.ct-toolbar{border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);flex-shrink:0;gap:6px;padding:6px 10px}.ct-new-btn,.ct-toolbar{align-items:center;display:flex}.ct-new-btn{background:none;border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:4px;color:#999;color:var(--text-secondary,#999);cursor:pointer;font-size:12px;gap:4px;padding:3px 8px;white-space:nowrap}.ct-new-btn:hover{background:#16213e;background:var(--bg-secondary,#16213e);color:#e0e0e0;color:var(--text-primary,#e0e0e0)}.ct-conversation-selector{flex:1 1;min-width:0;position:relative}.ct-selector-btn{align-items:center;background:none;border:none;border-radius:4px;color:#888;color:var(--text-secondary,#888);cursor:pointer;display:flex;font-size:12px;gap:4px;justify-content:space-between;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ct-selector-btn:hover{background:#16213e;background:var(--bg-secondary,#16213e)}.ct-conversation-dropdown{background:#1a1a2e;background:var(--bg-primary,#1a1a2e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:6px;box-shadow:0 8px 24px #0006;left:0;margin-top:2px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.ct-conversation-item{background:none;border:none;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);color:#e0e0e0;color:var(--text-primary,#e0e0e0);cursor:pointer;display:flex;flex-direction:column;font-size:12px;gap:2px;padding:8px 10px;text-align:left;width:100%}.ct-conversation-item:hover{background:#16213e;background:var(--bg-secondary,#16213e)}.ct-conversation-item.active{background:#4a6cf71a;border-left:2px solid #4a6cf7;border-left:2px solid var(--accent-color,#4a6cf7)}.ct-conv-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-conv-meta{color:#666;color:var(--text-secondary,#666);font-size:10px}.ct-status{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.ct-status.connected{background:#10b9811a;color:#10b981}.ct-status.disconnected{background:#ef44441a;color:#ef4444}.ct-messages{flex:1 1;gap:12px;overflow-y:auto;padding:12px}.ct-empty,.ct-messages{display:flex;flex-direction:column}.ct-empty{flex:1 1;padding:32px 20px;text-align:center}.ct-empty,.ct-empty-icon{align-items:center;justify-content:center}.ct-empty-icon{background:linear-gradient(135deg,#4a6cf7,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:48px;margin-bottom:12px;width:48px}.ct-empty-title{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:15px;font-weight:600;margin:0 0 6px}.ct-empty-subtitle{color:#888;color:var(--text-secondary,#888);font-size:12px;line-height:1.5;margin:0;max-width:280px}.ct-message{display:flex}.ct-message-user{justify-content:flex-end}.ct-message-assistant,.ct-message-system{justify-content:flex-start}.ct-message-bubble{border-radius:12px;font-size:13px;line-height:1.5;max-width:85%;padding:8px 12px}.ct-message-user .ct-message-bubble{background:#4a6cf7;background:var(--accent-color,#4a6cf7);border-bottom-right-radius:4px;color:#fff}.ct-message-assistant .ct-message-bubble{background:#16213e;background:var(--bg-secondary,#16213e);border-bottom-left-radius:4px;color:#e0e0e0;color:var(--text-primary,#e0e0e0)}.ct-message-system .ct-message-bubble{background:#ef44441a;border-radius:8px;color:#ef4444;font-size:12px}.ct-message-text{white-space:pre-wrap}.ct-markdown,.ct-message-text{word-break:break-word}.ct-markdown p{margin:0 0 8px}.ct-markdown p:last-child{margin-bottom:0}.ct-markdown code{background:#0000004d;border-radius:3px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;padding:1px 4px}.ct-markdown pre{background:#0000004d;border-radius:6px;margin:6px 0;overflow-x:auto;padding:8px 10px}.ct-markdown pre code{background:none;font-size:12px;padding:0}.ct-markdown table{border-collapse:collapse;font-size:12px;margin:6px 0;width:100%}.ct-markdown td,.ct-markdown th{border:1px solid #333;border:1px solid var(--border-color,#333);padding:4px 8px;text-align:left}.ct-markdown th{background:#0003;font-weight:600}.ct-markdown ol,.ct-markdown ul{margin:4px 0;padding-left:20px}.ct-markdown li{margin:2px 0}.ct-thinking{align-items:center;color:#888;color:var(--text-secondary,#888);display:flex;font-size:12px;font-style:italic;gap:6px}.ct-thinking-spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.ct-tool-calls{display:flex;flex-direction:column;gap:4px;margin-top:6px}.ct-tool-panel{border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:6px;overflow:hidden}.ct-tool-running{border-color:#4a6cf74d}.ct-tool-done{border-color:#2a2a3e;border-color:var(--border-color,#2a2a3e)}.ct-tool-header{align-items:center;background:#00000026;border:none;color:#999;color:var(--text-secondary,#999);cursor:pointer;display:flex;font-size:11px;gap:6px;padding:4px 8px;text-align:left;width:100%}.ct-tool-header:hover{background:#00000040}.ct-tool-name{color:#ccc;color:var(--text-primary,#ccc);font-weight:600}.ct-tool-done-badge{background:#10b98126;border-radius:3px;color:#10b981;font-size:9px;padding:0 4px}.ct-tool-chevron{margin-left:auto;transition:transform .15s}.ct-tool-chevron.expanded{transform:rotate(180deg)}.ct-tool-content{border-top:1px solid #2a2a3e;border-top:1px solid var(--border-color,#2a2a3e);max-height:200px;overflow-y:auto;padding:6px 8px}.ct-tool-content pre{color:#999;color:var(--text-secondary,#999);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;margin:0;white-space:pre-wrap;word-break:break-all}.ct-input-area{align-items:flex-end;border-top:1px solid #333;border-top:1px solid var(--border-color,#333);display:flex;flex-shrink:0;gap:6px;padding:8px 10px}.ct-input{background:#16213e;background:var(--bg-secondary,#16213e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:8px;color:#e0e0e0;color:var(--text-primary,#e0e0e0);flex:1 1;font-family:inherit;font-size:13px;line-height:1.4;max-height:120px;outline:none;padding:8px 10px;resize:none}.ct-input:focus{border-color:#4a6cf7;border-color:var(--accent-color,#4a6cf7)}.ct-input::placeholder{color:#666;color:var(--text-secondary,#666)}.ct-input:disabled{opacity:.5}.ct-send-btn{align-items:center;background:#4a6cf7;background:var(--accent-color,#4a6cf7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:opacity .15s;width:34px}.ct-send-btn:disabled{cursor:default;opacity:.4}.ct-send-btn:not(:disabled):hover{opacity:.85}.ct-capture-btn{align-items:center;background:#16213e;background:var(--bg-secondary,#16213e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:8px;color:#999;color:var(--text-secondary,#999);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:color .15s,border-color .15s;width:34px}.ct-capture-btn:hover{border-color:#4a6cf7;border-color:var(--accent-color,#4a6cf7);color:#e0e0e0;color:var(--text-primary,#e0e0e0)}@keyframes highlight-pulse-anim{0%{box-shadow:0 0 0 0 #4a6cf7b3}50%{box-shadow:0 0 0 8px #4a6cf700}to{box-shadow:0 0 0 0 #4a6cf700}}@keyframes highlight-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:768px){.chat-panel-expanded{animation:chat-panel-slide-up .2s ease-out;border-left:none;border-radius:12px 12px 0 0;border-top:1px solid #333;border-top:1px solid var(--border-color,#333);bottom:0;height:60vh;left:0;right:0;top:auto;width:100%}@keyframes chat-panel-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-panel-fab{bottom:16px;height:46px;right:16px;width:46px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8fafc;background-color:var(--color-background,#f8fafc);color:#1e293b;color:var(--color-text,#1e293b);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-primary,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);font-size:14px;font-size:var(--size-baseFontSize,14px)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background-color:#fff;background-color:var(--color-cardBackground,#fff);border-color:#d1d5db;border-color:var(--color-border,#d1d5db);color:#1e293b;color:var(--color-text,#1e293b)}input[type=range]{accent-color:#3b82f6;accent-color:var(--color-primary,#3b82f6)}button{color:inherit}.App{display:flex;flex-direction:column;height:100vh}.navbar{background-color:#1e293b;background-color:var(--color-navBackground,#1e293b);box-shadow:0 2px 4px #0000001a;color:#f1f5f9;color:var(--color-navText,#f1f5f9);height:60px;justify-content:space-between;left:0;padding:0 20px;pointer-events:auto;position:fixed;right:0;top:0;z-index:9999}.nav-brand,.navbar{align-items:center;display:flex}.nav-brand{gap:24px}.nav-brand h1{font-family:var(--font-heading);font-size:20px;font-weight:600}.nav-chat-toggle{align-items:center;background:none;border:1px solid #fff3;border-radius:6px;color:#f1f5f9;color:var(--color-navText,#f1f5f9);cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:4px 6px;transition:opacity .15s,border-color .15s}.nav-chat-toggle:hover{border-color:#ffffff80;opacity:1}.nav-username{align-items:center;color:#f1f5f9;color:var(--color-navText,#f1f5f9);cursor:default;display:flex;font-size:16px;font-weight:500;gap:8px;opacity:.8}.nav-username svg{height:20px;width:20px}.nav-links{align-items:center;display:flex;gap:16px;list-style:none}.nav-links a,.nav-links li{align-items:center;display:flex;justify-content:center}.nav-links a{border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#f1f5f9;color:var(--color-navText,#f1f5f9);font-weight:500;height:48px;opacity:.8;padding:10px;pointer-events:auto;position:relative;text-decoration:none;transition:background-color .2s,opacity .2s;width:48px;z-index:1001}.nav-links a:hover{background-color:#334155;background-color:var(--color-navHover,#334155);opacity:1}.nav-links a svg,.nav-logout-button svg{height:32px;width:32px}.nav-logout-button{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--size-borderRadius,8px);color:#f1f5f9;color:var(--color-navText,#f1f5f9);display:flex;font-size:inherit;font-weight:500;height:48px;justify-content:center;opacity:.8;padding:10px;pointer-events:auto;position:relative;text-decoration:none;transition:background-color .2s,opacity .2s;width:48px;z-index:1001}.nav-logout-button:hover{background-color:#334155;background-color:var(--color-navHover,#334155);opacity:1}.main-content{background-color:#f8fafc;background-color:var(--color-background,#f8fafc);flex:1 1;margin-top:60px;overflow:auto}button{border-radius:8px;border-radius:var(--size-borderRadius,8px);cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}.bg-stripes{background-image:repeating-linear-gradient(135deg,#0000,#0000 3px,#00000026 0,#00000026 6px)}.site-popup-container .mapboxgl-popup-content{background:#0000;border:none;box-shadow:none;padding:0}.site-popup-container .mapboxgl-popup-tip{display:none}
/*# sourceMappingURL=main.2a832b97.css.map*/