.file-upload{width:100%}.mode-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.375rem;border-radius:10px}.mode-toggle button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.mode-toggle button:hover:not(:disabled){color:#334155}.mode-toggle button.active{background:#fff;color:#667eea;box-shadow:0 2px 4px #0000001a}.mode-toggle button:disabled{cursor:not-allowed;opacity:.5}.upload-area{background:#fff;border:2px dashed #cbd5e1;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease}.upload-area:hover{border-color:#667eea;background:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.upload-area svg{color:#667eea;margin-bottom:1rem}.upload-area h3{font-size:1.5rem;color:#1e293b;margin-bottom:.5rem}.upload-area p{color:#64748b;font-size:.95rem}.paste-area{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:2rem}.paste-header{text-align:center;margin-bottom:1.5rem}.paste-header svg{color:#667eea;margin-bottom:.75rem}.paste-header h3{font-size:1.5rem;color:#1e293b;margin-bottom:.5rem}.paste-header p{color:#64748b;font-size:.9rem}.paste-input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;resize:vertical;margin-bottom:1rem;transition:border-color .2s}.paste-input:focus{outline:none;border-color:#667eea}.paste-input::placeholder{color:#94a3b8}.paste-actions{display:flex;gap:.75rem;justify-content:flex-end}.paste-btn,.process-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.paste-btn{background:#f1f5f9;color:#475569}.paste-btn:hover{background:#e2e8f0}.process-btn{background:#667eea;color:#fff}.process-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.process-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem}.spinner{border:3px solid #f3f4f6;border-top:3px solid #667eea;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.variable-selector{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin:2rem 0}.variable-selector h2{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.5rem}.selector-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}.selector-section label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.95rem}.selector-section select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .2s}.selector-section select:hover:not(:disabled){border-color:#06c}.selector-section select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.selector-section select:disabled{background:#f5f5f5;cursor:not-allowed}.checkbox-controls{display:flex;gap:.5rem;margin-bottom:.75rem}.select-button{padding:.5rem 1rem;background:#f0f0f0;color:#333;border:1px solid #d0d0d0;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.select-button:hover:not(:disabled){background:#e0e0e0;border-color:#b0b0b0}.select-button:disabled{background:#f8f8f8;color:#999;cursor:not-allowed}.checkbox-group{border:2px solid #e0e0e0;border-radius:8px;padding:1rem;max-height:200px;overflow-y:auto}.checkbox-label{display:flex;align-items:center;padding:.5rem;cursor:pointer;transition:background .2s;border-radius:4px}.checkbox-label:hover{background:#f8f9fa}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-right:.75rem;cursor:pointer}.checkbox-label span{color:#333;font-size:.95rem}.selector-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.run-button{padding:.875rem 2rem;background:#06c;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.run-button:hover:not(:disabled){background:#0052a3;transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.run-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.ready-signal-enhancer{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:32px;max-width:720px;margin:0 auto}.rs-header{text-align:center;margin-bottom:32px}.rs-header h2{font-size:1.5rem;font-weight:600;color:#1a1a2e;margin:0 0 8px}.rs-header p{color:#64748b;font-size:.95rem;margin:0}.rs-progress{display:flex;justify-content:center;gap:32px;margin-bottom:32px;padding:0 16px}.rs-progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.rs-progress-step:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 24px);width:32px;height:2px;background:#e2e8f0}.rs-progress-step.completed:not(:last-child):after{background:#10b981}.rs-step-num{width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.rs-progress-step.active .rs-step-num{background:#3b82f6;color:#fff}.rs-progress-step.completed .rs-step-num{background:#10b981;color:#fff}.rs-step-label{font-size:.8rem;color:#64748b;font-weight:500}.rs-progress-step.active .rs-step-label{color:#3b82f6}.rs-progress-step.completed .rs-step-label{color:#10b981}.rs-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rs-step h3{font-size:1.125rem;font-weight:600;color:#1a1a2e;margin:0 0 20px}.rs-analysis-card{background:#f8fafc;border-radius:8px;padding:20px;margin-bottom:20px}.rs-analysis-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0}.rs-analysis-row:last-child{border-bottom:none}.rs-label{color:#64748b;font-size:.9rem}.rs-value{color:#1a1a2e;font-weight:500;font-size:.9rem}.rs-grain{text-transform:capitalize;background:#e0f2fe;color:#0369a1;padding:2px 10px;border-radius:12px;font-size:.8rem}.rs-issues{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:16px 20px;margin-bottom:20px}.rs-issues h4{color:#92400e;font-size:.95rem;font-weight:600;margin:0 0 8px}.rs-issues-intro{color:#78716c;font-size:.85rem;margin:0 0 12px}.rs-issues ul{margin:0;padding-left:20px}.rs-issues li{color:#78716c;font-size:.85rem;margin-bottom:4px}.rs-config-section{margin:24px 0}.rs-select-label{display:block;font-weight:500;color:#1a1a2e;margin-bottom:8px;font-size:.95rem}.rs-help-text{display:block;color:#64748b;font-size:.8rem;font-weight:400;margin-top:4px}.rs-grain-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.rs-grain-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:16px;cursor:pointer;text-align:left;transition:all .2s ease}.rs-grain-btn:hover{border-color:#94a3b8}.rs-grain-btn.active{border-color:#3b82f6;background:#eff6ff}.rs-grain-title{display:block;font-weight:600;color:#1a1a2e;font-size:.95rem;margin-bottom:4px}.rs-grain-desc{display:block;color:#64748b;font-size:.8rem}.rs-info-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px 20px;margin:24px 0}.rs-info-box h4{color:#166534;font-size:.95rem;font-weight:600;margin:0 0 12px}.rs-info-box ol{margin:0;padding-left:20px}.rs-info-box li{color:#15803d;font-size:.85rem;margin-bottom:6px;line-height:1.5}.rs-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.rs-btn{padding:10px 20px;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease}.rs-btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.rs-btn-secondary:hover{background:#f3f4f6}.rs-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.rs-btn-primary:hover{background:#2563eb}.rs-btn-primary:disabled{background:#93c5fd;border-color:#93c5fd;cursor:not-allowed}.rs-loading,.rs-processing{text-align:center;padding:40px 20px}.rs-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.rs-spinner.large{width:48px;height:48px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.rs-status-message{color:#1a1a2e;font-size:1rem;margin:0 0 20px;line-height:1.5}.rs-cleanup-summary{background:#f8fafc;border-radius:8px;padding:16px;margin:20px auto;max-width:400px;text-align:left}.rs-cleanup-summary h4{font-size:.9rem;color:#1a1a2e;margin:0 0 10px}.rs-cleanup-summary ul{margin:0;padding-left:18px}.rs-cleanup-summary li{color:#64748b;font-size:.85rem;margin-bottom:4px}.rs-submitted-info{margin:16px 0}.rs-submitted-info p{color:#64748b;font-size:.9rem}.rs-polling-note{color:#94a3b8;font-size:.8rem;margin-top:24px}.rs-progress-stages{background:#f8fafc;border-radius:8px;padding:20px;margin-bottom:24px}.rs-stage{margin-bottom:16px;padding:16px;background:#fff;border-radius:8px;border:2px solid #e2e8f0;transition:all .3s ease}.rs-stage.active{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.rs-stage.complete{border-color:#10b981;opacity:.7}.rs-stage-header{display:flex;align-items:center;gap:12px}.rs-stage-badge{width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0;transition:all .3s ease}.rs-stage.active .rs-stage-badge{background:#f59e0b;color:#fff;animation:pulse 2s ease-in-out infinite}.rs-stage.complete .rs-stage-badge{background:#10b981;color:#fff}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #f59e0b66}50%{transform:scale(1.05);box-shadow:0 0 0 8px #f59e0b00}}.rs-stage-text{flex:1;color:#1a1a2e;font-size:.95rem;line-height:1.5}.rs-stage:not(.active) .rs-stage-text{color:#94a3b8}.rs-stage-chevron{color:#3b82f6;font-size:.8rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.rs-categories{display:flex;gap:8px;margin-top:12px;padding-left:44px;overflow:hidden;position:relative;min-height:36px}.rs-category-pill{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:500;box-shadow:0 2px 4px #667eea4d;animation:categorySlideIn .6s cubic-bezier(.4,0,.2,1);white-space:nowrap}.rs-category-pill:nth-child(1){animation-delay:0s}.rs-category-pill:nth-child(2){animation-delay:.1s}.rs-category-pill:nth-child(3){animation-delay:.2s}@keyframes categorySlideIn{0%{opacity:0;transform:translateY(-20px) scale(.9)}50%{transform:translateY(5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.rs-logo-showcase{margin-top:16px;padding-left:44px;animation:fadeIn .5s ease}.rs-logo-label{color:#3b82f6;font-size:.85rem;font-weight:600;text-align:center;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em;animation:fadeIn .5s ease}.rs-logo-grid{display:flex;gap:24px;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#fff);padding:32px 24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;position:relative;overflow:hidden;min-height:120px}.rs-logo-grid:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.rs-source-logo{height:70px;width:140px;object-fit:contain;filter:grayscale(0%) brightness(1);transition:all .6s cubic-bezier(.4,0,.2,1);animation:logoFadeIn .8s cubic-bezier(.4,0,.2,1);background:#fff;padding:12px;border-radius:8px;box-shadow:0 2px 8px #00000014;position:relative;z-index:1}.rs-source-logo:hover{transform:scale(1.08) translateY(-4px);box-shadow:0 8px 20px #00000026}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.9) translateY(10px)}60%{transform:scale(1.02) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.rs-final-summary{margin-top:16px;padding:16px 16px 16px 44px;background:#f0fdf4;border-radius:8px;animation:fadeIn .5s ease}.rs-final-summary p{color:#166534;font-size:.9rem;margin:0 0 12px}.rs-final-summary .rs-btn{display:inline-block}.rs-enhancement-summary{margin-bottom:32px}.rs-summary-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;background:linear-gradient(135deg,#f8fafc,#fff);padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.rs-summary-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px}.rs-stat-value{font-size:2rem;font-weight:700;color:#3b82f6;margin-bottom:8px}.rs-stat-label{font-size:.85rem;color:#64748b;font-weight:500}.rs-column-selection{margin-bottom:32px;background:#f8fafc;padding:24px;border-radius:12px;border:1px solid #e2e8f0}.rs-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.rs-selection-header h4{margin:0;font-size:1.1rem;color:#1a1a2e}.rs-selection-controls{display:flex;align-items:center;gap:12px}.rs-control-btn{padding:6px 14px;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.rs-control-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.rs-selection-count{color:#3b82f6;font-weight:600;font-size:.9rem}.rs-columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rs-column-group h5{font-size:.95rem;color:#1a1a2e;margin:0 0 12px;font-weight:600}.rs-column-list{display:flex;flex-direction:column;gap:8px}.rs-column-item{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border-radius:8px;border:2px solid #e2e8f0;transition:all .2s ease}.rs-column-item.original{opacity:.8}.rs-column-item.ready-signal{cursor:pointer}.rs-column-item.ready-signal:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.rs-column-item.ready-signal.selected{border-color:#10b981;background:#f0fdf4}.rs-column-item.ready-signal.deselected{opacity:.5}.rs-column-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#10b981}.rs-column-badge{padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.rs-column-item.original .rs-column-badge{background:#e0e7ff;color:#4338ca}.rs-column-item.ready-signal .rs-column-badge{background:#dbeafe;color:#1e40af}.rs-column-name{flex:1;color:#1a1a2e;font-size:.9rem;font-weight:500}.rs-data-preview{margin-bottom:24px}.rs-data-preview h4{margin:0 0 16px;font-size:1.1rem;color:#1a1a2e}.rs-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.rs-preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.rs-preview-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.rs-preview-table th{padding:12px;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.rs-preview-table th.original-col{color:#4338ca;background:#e0e7ff}.rs-preview-table th.rs-col{color:#1e40af;background:#dbeafe}.rs-preview-table tbody tr{border-bottom:1px solid #e2e8f0}.rs-preview-table tbody tr:hover{background:#f8fafc}.rs-preview-table tbody tr:last-child{border-bottom:none}.rs-preview-table td{padding:12px;color:#1e293b;white-space:nowrap}.rs-preview-table td.original-col{border-right:2px solid #e0e7ff}.rs-preview-table td.rs-col{background:#f0f9ff}.rs-success-card{background:#f0fdf4;border-radius:8px;padding:24px;text-align:center;margin-bottom:24px}.rs-success-icon{width:48px;height:48px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 12px}.rs-success-message{color:#166534;font-size:1rem;margin:0}.rs-features-preview{background:#f8fafc;border-radius:8px;padding:20px;margin-bottom:24px}.rs-features-preview h4{font-size:.95rem;color:#1a1a2e;margin:0 0 12px}.rs-features-preview ul{list-style:none;margin:0;padding:0}.rs-features-preview li{padding:10px 0;border-bottom:1px solid #e2e8f0}.rs-features-preview li:last-child{border-bottom:none}.rs-feature-name{display:block;color:#1a1a2e;font-size:.9rem;font-weight:500;margin-bottom:4px}.rs-feature-source{display:block;color:#64748b;font-size:.8rem}.rs-more-features{color:#3b82f6;font-size:.85rem;margin:12px 0 0;font-weight:500}.rs-error-card{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px 20px;margin-bottom:20px}.rs-error-card p{color:#991b1b;margin:0;font-size:.9rem}.rs-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.rs-error-banner p{color:#991b1b;margin:0;font-size:.85rem}.rs-error-banner button{background:none;border:none;color:#991b1b;cursor:pointer;font-weight:500;font-size:.8rem}.rs-issues-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rs-details-btn{background:#fff;border:1px solid #d97706;color:#d97706;padding:4px 12px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.rs-details-btn:hover{background:#d97706;color:#fff}.rs-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.rs-modal-content{background:#fff;border-radius:12px;max-width:1000px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rs-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e2e8f0}.rs-modal-header h3{font-size:1.25rem;font-weight:600;color:#1a1a2e;margin:0}.rs-modal-close{background:none;border:none;font-size:2rem;color:#94a3b8;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.rs-modal-close:hover{background:#f1f5f9;color:#64748b}.rs-modal-body{padding:24px}.rs-modal-intro{color:#475569;font-size:.95rem;line-height:1.6;margin:0 0 24px}.rs-issue-detail{display:flex;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.rs-issue-detail:last-of-type{border-bottom:none;margin-bottom:24px}.rs-issue-badge{width:28px;height:28px;background:#fef3c7;border:2px solid #fcd34d;color:#92400e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.rs-issue-content{flex:1}.rs-issue-text{color:#1a1a2e;font-weight:500;font-size:.9rem;margin:0 0 8px}.rs-issue-explanation{color:#64748b;font-size:.85rem;line-height:1.5;margin:0}.rs-issue-action{color:#0369a1;font-size:.85rem;font-weight:500;margin:4px 0 0;padding:6px 12px;background:#e0f2fe;border-radius:4px;display:inline-block}.rs-modal-footer-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-top:8px}.rs-modal-footer-info h4{color:#166534;font-size:.9rem;font-weight:600;margin:0 0 8px}.rs-modal-footer-info p{color:#15803d;font-size:.85rem;line-height:1.5;margin:0}.rs-modal-actions{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.rs-examples-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:16px;margin-top:12px}.rs-examples-title{color:#475569;font-size:.85rem;font-weight:600;margin:0 0 12px}.rs-data-row{background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:10px 12px;margin-bottom:8px}.rs-data-row:last-child{margin-bottom:0}.rs-data-field{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid #f1f5f9;font-size:.8rem}.rs-data-field:last-child{border-bottom:none;padding-bottom:0}.rs-data-field:first-child{padding-top:0}.rs-field-name{color:#64748b;font-weight:500;min-width:80px;flex-shrink:0}.rs-field-value{color:#1e293b;font-family:Courier New,monospace;word-break:break-word}.rs-duplicate-group{margin-bottom:16px}.rs-duplicate-group:last-child{margin-bottom:0}.rs-dup-header{color:#475569;font-size:.85rem;font-weight:500;margin:0 0 8px}.rs-dup-header code{background:#fff;border:1px solid #cbd5e1;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.8rem;color:#0f172a}.rs-examples-more{color:#64748b;font-size:.8rem;margin:12px 0 0;font-weight:500;text-align:center}.rs-debug-section{margin:24px 0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.rs-debug-toggle{width:100%;padding:14px 16px;background:transparent;border:none;text-align:left;font-size:.9rem;font-weight:600;color:#475569;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.rs-debug-toggle:hover{background:#f1f5f9}.rs-debug-content{padding:16px;background:#fff;border-top:1px solid #e2e8f0;animation:fadeIn .3s ease}.rs-debug-row{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid #f1f5f9}.rs-debug-row:last-child{border-bottom:none}.rs-debug-label{color:#64748b;font-size:.85rem;font-weight:500;margin-bottom:6px}.rs-debug-value{color:#1e293b;font-size:1.1rem;font-weight:600;font-family:Courier New,monospace}.rs-debug-sample{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.rs-debug-key{background:#eff6ff;color:#1e40af;padding:6px 12px;border-radius:6px;font-size:.8rem;font-family:Courier New,monospace;border:1px solid #dbeafe}.rs-debug-more{color:#64748b;font-size:.8rem;font-style:italic;padding:6px 12px;display:flex;align-items:center}@media(max-width:600px){.ready-signal-enhancer{padding:20px}.rs-progress{gap:24px}.rs-progress-step:not(:last-child):after{width:24px;left:calc(50% + 16px)}.rs-grain-options{grid-template-columns:1fr}.rs-actions{flex-direction:column}.rs-btn{width:100%;text-align:center}.rs-modal-content{width:95%;max-height:90vh}.rs-issues-header{flex-direction:column;align-items:flex-start;gap:8px}.rs-details-btn{align-self:flex-start}.rs-field-name{min-width:70px;font-size:.75rem}.rs-field-value{font-size:.75rem}.rs-data-field{flex-direction:column;gap:4px}.rs-logo-showcase{padding-left:0}.rs-logo-grid{gap:12px;padding:20px 12px;flex-wrap:wrap}.rs-source-logo{height:50px;width:100px;padding:8px}.rs-categories{padding-left:0;justify-content:center;flex-wrap:wrap}.rs-summary-card{grid-template-columns:1fr 1fr}.rs-columns-grid{grid-template-columns:1fr}.rs-selection-header{flex-direction:column;align-items:flex-start}.rs-selection-controls{width:100%;justify-content:space-between}}.rs-detailed-table-container{overflow-x:auto;margin:12px 0;border-radius:6px;border:1px solid #e2e8f0}.rs-detailed-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff}.rs-detailed-table thead{background:#f8fafc;border-bottom:2px solid #cbd5e1}.rs-detailed-table th{padding:12px;text-align:left;font-weight:600;color:#475569;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.rs-detailed-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s ease}.rs-detailed-table tbody tr:hover{background:#f8fafc}.rs-detailed-table tbody tr:last-child{border-bottom:none}.rs-detailed-table td{padding:12px;color:#1e293b;vertical-align:top}.rs-row-number{font-weight:600;color:#3b82f6;text-align:center;width:70px}.rs-column-name{font-weight:500;color:#0f172a;white-space:nowrap;width:120px}.rs-invalid-value{max-width:200px;word-break:break-all}.rs-invalid-value code{background:#fee2e2;color:#991b1b;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:.8rem;display:inline-block}.rs-reason{color:#475569;font-size:.8rem;max-width:180px}.rs-complete-row{width:180px}.rs-complete-row details{cursor:pointer}.rs-complete-row summary{color:#3b82f6;font-size:.8rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 8px;border-radius:4px;transition:background-color .15s ease;list-style:none}.rs-complete-row summary::-webkit-details-marker{display:none}.rs-complete-row summary:before{content:"▶";display:inline-block;margin-right:6px;font-size:.7rem;transition:transform .2s ease}.rs-complete-row details[open] summary:before{transform:rotate(90deg)}.rs-complete-row summary:hover{background:#eff6ff}.rs-row-details{margin-top:8px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;max-height:300px;overflow-y:auto}.rs-row-details .rs-data-field{padding:6px 0;font-size:.75rem}.rs-row-details .rs-field-name{min-width:100px;font-size:.75rem}.rs-row-details .rs-field-value{font-size:.75rem}@media(max-width:900px){.rs-modal-content{max-width:95%}.rs-detailed-table-container{font-size:.75rem}.rs-detailed-table th,.rs-detailed-table td{padding:8px}.rs-row-number{width:50px}.rs-column-name{width:100px}.rs-invalid-value{max-width:150px}.rs-reason{max-width:140px;font-size:.75rem}.rs-complete-row{width:120px}}.rs-column-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px}.rs-checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.rs-checkbox-item:hover{border-color:#3b82f6}.rs-checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.rs-checkbox-item input[type=checkbox]:checked+span{color:#3b82f6;font-weight:500}.rs-selection-info{margin-top:12px;color:#3b82f6;font-weight:500;font-size:.9rem}.rs-discovery-summary{display:flex;gap:24px;justify-content:center;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px}.rs-target-selection{margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:8px}.rs-select{width:100%;max-width:300px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer;margin-top:8px}.rs-select:focus{outline:none;border-color:#3b82f6}.rs-feature-selection{margin-bottom:24px}.rs-feature-category{margin-bottom:20px}.rs-category-title{font-size:.9rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.rs-feature-list{display:flex;flex-direction:column;gap:8px}.rs-feature-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.rs-feature-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.rs-feature-item.selected{border-color:#10b981;background:#f0fdf4}.rs-feature-item input[type=checkbox]{width:18px;height:18px;accent-color:#10b981;cursor:pointer;flex-shrink:0}.rs-feature-info{flex:1;min-width:0}.rs-feature-info .rs-feature-name{display:block;font-weight:500;color:#1a1a2e;font-size:.95rem;margin-bottom:2px}.rs-feature-info .rs-feature-source{display:block;color:#64748b;font-size:.8rem}.rs-feature-stats{display:flex;gap:12px;align-items:center;flex-shrink:0}.rs-correlation{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;font-family:monospace}.rs-correlation.positive{background:#dcfce7;color:#166534}.rs-correlation.negative{background:#fee2e2;color:#991b1b}.rs-lag{padding:4px 10px;background:#e0f2fe;color:#0369a1;border-radius:12px;font-size:.8rem;font-weight:500}.rs-model-summary{text-align:center;padding:16px;background:#f8fafc;border-radius:8px;margin-bottom:24px}.rs-model-summary p{margin:0;color:#475569;font-size:.95rem}.rs-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px}.rs-model-card{display:flex;gap:14px;padding:20px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s ease}.rs-model-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.rs-model-card.selected{border-color:#3b82f6;background:#eff6ff}.rs-model-radio{flex-shrink:0;padding-top:2px}.rs-model-radio input[type=radio]{width:20px;height:20px;accent-color:#3b82f6;cursor:pointer}.rs-model-info h4{margin:0 0 6px;color:#1a1a2e;font-size:1rem;font-weight:600}.rs-model-info p{margin:0;color:#64748b;font-size:.85rem;line-height:1.4}.rs-model-params{background:#f8fafc;padding:20px;border-radius:10px;margin-bottom:24px}.rs-model-params h4{margin:0 0 16px;font-size:1rem;color:#1a1a2e}.rs-param-row{display:flex;align-items:center;gap:16px}.rs-param-row label{color:#475569;font-size:.9rem;font-weight:500;min-width:100px}.rs-training-progress{margin-bottom:32px}.rs-progress-bar-container{height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:8px}.rs-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:6px;transition:width .5s ease}.rs-progress-text{text-align:center;color:#3b82f6;font-size:1.25rem;font-weight:600;margin:0}.rs-training-stage{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:#f8fafc;border-radius:12px}.rs-training-stage p{color:#475569;font-size:1rem;margin:0}.rs-fold-info{text-align:center;color:#64748b;font-size:.9rem;margin-top:16px}.rs-results{max-width:100%}.rs-results-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:10px}.rs-results-header .rs-model-badge{padding:8px 16px;background:#3b82f6;color:#fff;border-radius:6px;font-weight:600;font-size:.85rem;letter-spacing:.05em}.rs-results-header span{color:#475569;font-size:.95rem}.rs-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.rs-metric-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 16px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000a}.rs-metric-value{font-size:1.75rem;font-weight:700;color:#3b82f6;margin-bottom:4px}.rs-metric-label{font-size:.9rem;font-weight:600;color:#1a1a2e;margin-bottom:2px}.rs-metric-desc{font-size:.75rem;color:#94a3b8}.rs-results-section{margin-bottom:28px;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.rs-results-section h4{margin:0 0 16px;font-size:1rem;color:#1a1a2e;font-weight:600}.rs-importance-list{display:flex;flex-direction:column;gap:12px}.rs-importance-item{display:flex;align-items:center;gap:14px}.rs-importance-rank{width:28px;height:28px;background:#e0f2fe;color:#0369a1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.rs-importance-info{flex:1;min-width:0}.rs-importance-name{display:block;font-size:.9rem;color:#1a1a2e;font-weight:500;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-importance-bar-bg{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.rs-importance-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;transition:width .5s ease}.rs-importance-value{color:#3b82f6;font-weight:600;font-size:.9rem;min-width:50px;text-align:right}.rs-predictions-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.rs-predictions-table{width:100%;border-collapse:collapse;font-size:.9rem}.rs-predictions-table thead{background:#f8fafc}.rs-predictions-table th{padding:12px 16px;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.rs-predictions-table td{padding:12px 16px;color:#1e293b;border-bottom:1px solid #f1f5f9}.rs-predictions-table tr:last-child td{border-bottom:none}.rs-predictions-table tr.out-of-sample{background:#fffbeb}.rs-predictions-table td.positive{color:#166534}.rs-predictions-table td.negative{color:#991b1b}.rs-forecast-list{display:flex;flex-direction:column;gap:12px}.rs-forecast-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-radius:8px;border:1px solid #dbeafe}.rs-forecast-date{color:#475569;font-size:.9rem;font-weight:500;min-width:100px}.rs-forecast-value{color:#3b82f6;font-size:1.1rem;font-weight:700;flex:1}.rs-forecast-range{color:#64748b;font-size:.85rem}@media(max-width:600px){.rs-column-checkboxes{grid-template-columns:1fr}.rs-discovery-summary{flex-direction:column;gap:16px}.rs-feature-stats{flex-direction:column;gap:6px}.rs-model-grid{grid-template-columns:1fr}.rs-metrics-grid{grid-template-columns:1fr 1fr}.rs-importance-item{flex-wrap:wrap}.rs-forecast-item{flex-direction:column;align-items:flex-start;gap:8px}}.rs-saved-datasets{margin-top:24px;padding-top:24px;border-top:1px dashed #e2e8f0}.rs-saved-datasets h4{font-size:1rem;font-weight:600;color:#1a1a2e;margin:0 0 16px}.rs-dataset-list{display:flex;flex-direction:column;gap:8px}.rs-dataset-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease}.rs-dataset-item:hover{background:#f1f5f9;border-color:#3b82f6}.rs-dataset-info{display:flex;flex-direction:column;gap:2px}.rs-dataset-name{font-weight:500;color:#1a1a2e}.rs-dataset-meta{font-size:.8rem;color:#64748b}.rs-btn-small{padding:6px 12px;font-size:.8rem}.rs-btn-outline{background:transparent;border:1px solid #3b82f6;color:#3b82f6;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.rs-btn-outline:hover{background:#eff6ff}.rs-modal-small{max-width:420px}.rs-form-group{margin-bottom:16px}.rs-form-group label{display:block;font-size:.9rem;font-weight:500;color:#374151;margin-bottom:6px}.rs-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s ease}.rs-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.rs-dataset-preview{background:#f8fafc;border-radius:8px;padding:12px 16px}.rs-preview-item{display:flex;justify-content:space-between;padding:6px 0}.rs-preview-item:not(:last-child){border-bottom:1px solid #e2e8f0}.rs-preview-label{color:#64748b;font-size:.85rem}.rs-preview-value{font-weight:500;color:#1a1a2e;font-size:.85rem}.results{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.results-header{margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.results-header h2{font-size:2rem;color:#1e293b;margin:0}.model-switcher{display:flex;gap:.75rem;align-items:center}.model-dropdown{padding:.625rem 1rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.95rem;cursor:pointer;transition:all .2s;min-width:220px}.model-dropdown:hover:not(:disabled){border-color:#667eea}.model-dropdown:disabled{opacity:.5;cursor:not-allowed}.run-model-btn{padding:.625rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.run-model-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.run-model-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.meta-info{display:flex;gap:1rem;flex-wrap:wrap}.badge{background:#e0e7ff;color:#3b82f6;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500}.badge.model-badge{background:#dbeafe;color:#1e40af;text-transform:capitalize}.badge.external-badge{background:#dcfce7;color:#166534}.results-grid{display:flex;flex-direction:column;gap:2rem}.card{border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;background:#fafafa}.card.full-width{grid-column:1 / -1}.metrics-grid{display:grid;gap:1rem}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border-radius:6px;border:1px solid #e2e8f0}.metric-label{color:#666;font-size:.9rem}.metric-value{font-size:1.25rem;font-weight:600;color:#1a1a1a}.card h3{font-size:1.25rem;color:#334155;margin-bottom:1rem}.table-container{overflow-x:auto;background:#fff;border-radius:6px;border:1px solid #e2e8f0}table{width:100%;border-collapse:collapse}th{background:#f8fafc;color:#475569;font-weight:600;text-align:left;padding:.75rem 1rem;border-bottom:2px solid #e2e8f0;font-size:.9rem;white-space:nowrap}td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}.metric-name{font-weight:600;color:#667eea}.info-message{background:#fff;border-radius:6px;padding:1.5rem;border:1px solid #e2e8f0;text-align:center}.info-message p{color:#64748b;font-size:.95rem;line-height:1.6;margin:0}@media(max-width:768px){.results{padding:1rem}.header-top{flex-direction:column;align-items:flex-start}.results-header h2{font-size:1.5rem}.model-switcher{width:100%;flex-direction:column}.model-dropdown,.run-model-btn{width:100%}.card{padding:1rem}th,td{padding:.5rem;font-size:.85rem}}.importance-bar-container{display:flex;align-items:center;gap:.75rem}.importance-bar{height:8px;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;min-width:4px;transition:width .3s ease}.importance-value{font-weight:500;color:#334155;white-space:nowrap}.selected-features-list{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{background:#dbeafe;color:#1e40af;padding:.375rem .75rem;border-radius:4px;font-size:.875rem;font-weight:500}.log-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px}.log-viewer{background:#1a1a1a;border:1px solid #333;border-radius:8px;width:100%;max-width:1400px;height:90vh;display:flex;flex-direction:column;color:#e0e0e0;font-family:Monaco,Courier New,monospace;box-shadow:0 10px 40px #000c}.log-viewer-header{padding:20px;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center;background:#222}.log-viewer-header h2{margin:0;font-size:20px;color:#fff}.header-controls{display:flex;gap:10px;align-items:center}.auto-refresh-toggle{display:flex;align-items:center;gap:5px;font-size:12px;color:#aaa;cursor:pointer}.auto-refresh-toggle input{cursor:pointer}.refresh-btn,.copy-btn,.clear-btn,.close-btn{padding:8px 16px;border:1px solid #444;background:#2a2a2a;color:#e0e0e0;cursor:pointer;border-radius:4px;font-size:14px;transition:all .2s}.refresh-btn:hover{background:#3a3a3a;border-color:#555}.copy-btn:hover{background:#1a4d1a;border-color:#2d7a2d}.clear-btn:hover{background:#4d1a1a;border-color:#7a2d2d}.close-btn{font-size:24px;padding:4px 12px;line-height:1}.close-btn:hover{background:#4a1a1a;border-color:#7a2d2d}.log-viewer-filters{padding:15px 20px;border-bottom:1px solid #333;display:flex;gap:20px;background:#1e1e1e}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-size:13px;color:#aaa}.filter-group select,.filter-group input{padding:6px 12px;background:#2a2a2a;border:1px solid #444;color:#e0e0e0;border-radius:4px;font-size:13px;font-family:inherit}.filter-group input{width:300px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#555}.log-viewer-content{flex:1;overflow-y:auto;padding:10px;background:#1a1a1a}.log-loading,.log-empty{display:flex;justify-content:center;align-items:center;height:100%;color:#666;font-size:16px}.log-list{display:flex;flex-direction:column;gap:2px}.log-entry{padding:10px 15px;background:#222;border:1px solid #2a2a2a;border-radius:4px;cursor:pointer;transition:all .15s;font-size:13px}.log-entry:hover{background:#272727;border-color:#333}.log-entry.expanded{background:#2a2a2a;border-color:#444}.log-header-line{display:flex;gap:10px;align-items:center;margin-bottom:5px}.log-timestamp{color:#888;font-size:12px;min-width:140px}.log-source{font-weight:600;margin:0 8px;padding:2px 8px;border-radius:4px;font-size:11px;min-width:85px;text-align:center;display:inline-block}.log-source.frontend{background:#1e3a5f;color:#64b5f6;border:1px solid #2962ff}.log-source.backend{background:#4a1e5f;color:#ba68c8;border:1px solid #7b1fa2}.log-level{font-weight:700;min-width:70px;font-size:12px}.log-method{color:#99f;min-width:50px;font-weight:600;font-size:12px}.log-endpoint{color:#6cf;flex:1}.log-status{padding:2px 8px;border-radius:3px;font-size:11px;font-weight:700}.log-status.success{background:#1a4d1a;color:#6f6}.log-status.error{background:#4d1a1a;color:#f66}.log-message{color:#ccc;padding-left:150px;line-height:1.4}.log-details{margin-top:15px;padding-top:15px;border-top:1px solid #333;padding-left:150px}.log-detail-item{margin-bottom:10px;font-size:12px}.log-detail-item strong{color:#888;display:block;margin-bottom:5px}.log-json{background:#1a1a1a;border:1px solid #333;padding:10px;border-radius:4px;overflow-x:auto;color:#6f6;font-size:11px;line-height:1.5;margin-top:5px;max-height:300px;overflow-y:auto}.log-viewer-footer{padding:12px 20px;border-top:1px solid #333;text-align:center;font-size:12px;color:#666;background:#1e1e1e}.log-viewer-content::-webkit-scrollbar{width:10px}.log-viewer-content::-webkit-scrollbar-track{background:#1a1a1a}.log-viewer-content::-webkit-scrollbar-thumb{background:#444;border-radius:5px}.log-viewer-content::-webkit-scrollbar-thumb:hover{background:#555}.log-json::-webkit-scrollbar{width:6px;height:6px}.log-json::-webkit-scrollbar-track{background:#1a1a1a}.log-json::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.log-json::-webkit-scrollbar-thumb:hover{background:#444}.cleanup-notification{background:#fff8e1;border:1px solid #ffd54f;border-radius:8px;padding:16px;margin:16px 0;box-shadow:0 2px 4px #0000001a}.cleanup-header{display:flex;align-items:flex-start;gap:12px}.cleanup-icon{font-size:24px;flex-shrink:0}.cleanup-summary{flex:1}.cleanup-summary strong{display:block;font-size:16px;color:#f57c00;margin-bottom:4px}.cleanup-summary p{margin:0;color:#666;font-size:14px}.view-details-btn{background:#fff;border:1px solid #ffd54f;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;color:#f57c00;transition:all .2s;white-space:nowrap}.view-details-btn:hover{background:#fff3e0;border-color:#ffb300}.cleanup-details{margin-top:16px;padding-top:16px;border-top:1px solid #ffe082}.cleanup-section{margin-bottom:20px}.cleanup-section:last-of-type{margin-bottom:0}.cleanup-section h4{margin:0 0 12px;color:#e65100;font-size:14px;font-weight:600}.cleanup-table-container{overflow-x:auto;border:1px solid #ffe082;border-radius:4px;background:#fff}.cleanup-table{width:100%;border-collapse:collapse;font-size:13px}.cleanup-table th{background:#fff9c4;color:#f57c00;font-weight:600;text-align:left;padding:10px;border-bottom:2px solid #ffe082;white-space:nowrap}.cleanup-table td{padding:10px;border-bottom:1px solid #fff9c4;vertical-align:top}.cleanup-table tbody tr:last-child td{border-bottom:none}.cleanup-table tbody tr:hover{background:#fffde7}.problematic-value{color:#d32f2f;font-family:Monaco,Courier New,monospace;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis}.row-data{max-width:400px;font-size:12px}.row-data details{cursor:pointer}.row-data summary{color:#1976d2;text-decoration:underline;-webkit-user-select:none;user-select:none;padding:4px 0}.row-data summary:hover{color:#0d47a1}.row-data pre{margin:8px 0 0;padding:8px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;overflow-x:auto;font-size:11px;font-family:Monaco,Courier New,monospace;max-height:200px;overflow-y:auto}.cleanup-note{margin-top:16px;padding:12px;background:#fff3e0;border-left:3px solid #ff9800;border-radius:4px}.cleanup-note p{margin:0;font-size:13px;color:#666}.cleanup-note strong{color:#f57c00}.cleanup-message{color:#666;font-size:14px;margin:8px 0}.app{min-height:100vh}.header{display:flex;justify-content:space-between;align-items:center;color:#fff;margin-bottom:3rem}.header>div{text-align:center;flex:1}.header h1{font-size:3rem;font-weight:700;margin-bottom:.5rem}.header p{font-size:1.25rem;opacity:.9}.view-logs-btn{position:absolute;top:2rem;right:2rem;padding:.75rem 1.5rem;background:#2a2a2a;color:#fff;border:1px solid #444;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;z-index:10}.view-logs-btn:hover{background:#3a3a3a;border-color:#555;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.main{display:flex;flex-direction:column;gap:2rem}.error{background:#fee;color:#c33;padding:1rem;border-radius:8px;border:1px solid #fcc;text-align:center}.data-info{background:#fff;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.5rem}.data-info p{margin:0;color:#666;font-size:.95rem}.data-info .filtered-info{color:#06c;font-size:.875rem}.reset-button{padding:.5rem 1rem;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;align-self:flex-start}.reset-button:hover{background:#e8e8e8;border-color:#ccc}@media(max-width:768px){.header h1{font-size:2rem}.header p{font-size:1rem}}.saved-datasets-section{background:#fff;border-radius:12px;padding:24px 32px;box-shadow:0 2px 8px #00000014;margin-top:16px}.saved-datasets-section h3{font-size:1.1rem;font-weight:600;color:#1a1a2e;margin:0 0 4px}.saved-datasets-subtitle{color:#64748b;font-size:.9rem;margin:0 0 16px}.saved-datasets-list{display:flex;flex-direction:column;gap:10px}.saved-dataset-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease}.saved-dataset-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.dataset-card-info{display:flex;flex-direction:column;gap:4px}.dataset-card-name{font-weight:600;font-size:1rem;color:#1a1a2e}.dataset-card-meta{font-size:.85rem;color:#64748b}.dataset-card-date{font-size:.8rem;color:#94a3b8}.load-dataset-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.load-dataset-btn:hover{background:#2563eb}.loading-datasets,.no-datasets{color:#64748b;font-size:.9rem;text-align:center;padding:20px;background:#f8fafc;border-radius:8px;margin:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem}#root{max-width:1200px;margin:0 auto}
