@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);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;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--primary-light:#3b82f61a;--secondary-color:#6b7280;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--border-color:#475569;--border-light:#64748b;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--gradient-primary:linear-gradient(135deg,#3b82f6,#1d4ed8);--gradient-card:linear-gradient(145deg,#1e293b,#334155)}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;background:var(--bg-primary);background-image:radial-gradient(circle at 20% 20%,#3b82f614 0,#0000 50%),radial-gradient(circle at 80% 80%,#10b9810d 0,#0000 50%);color:#f8fafc;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b;background:var(--bg-card);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);padding:2rem 2.5rem;position:relative;text-align:left}.app-header:before{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);content:"";height:3px;left:0;position:absolute;right:0;top:0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.app-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;background-clip:text;color:#f8fafc;color:var(--text-primary);font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.app-header p{color:#cbd5e1;color:var(--text-secondary);font-size:1rem;font-weight:500}.status-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10b98126;border:1px solid #10b9814d;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);gap:.75rem;padding:.75rem 1.25rem;transition:all .3s ease}.status-indicator:hover{background:#10b98133;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:10px;width:10px}.status-dot,.status-dot.success{background:#10b981;background:var(--success-color);box-shadow:0 0 10px #10b98180}.status-dot.error{background:#ef4444;background:var(--error-color);box-shadow:0 0 10px #ef444480}.status-dot.checking{animation:pulse-checking 1s infinite;background:#f59e0b;background:var(--warning-color);box-shadow:0 0 10px #f59e0b80}.status-indicator{color:#cbd5e1;color:var(--text-secondary);gap:8px}.status-indicator,.status-refresh-btn{align-items:center;display:flex;font-size:.875rem}.status-refresh-btn{background:none;border:none;border-radius:4px;color:#94a3b8;color:var(--text-muted);cursor:pointer;justify-content:center;padding:4px;transition:all .2s ease}.status-refresh-btn:hover:not(:disabled){background:#ffffff1a;color:#cbd5e1;color:var(--text-secondary);transform:scale(1.1)}.status-refresh-btn:disabled{animation:spin 1s linear infinite;cursor:not-allowed;opacity:.5}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-details{color:#94a3b8;color:var(--text-muted);font-size:.75rem;margin-top:2px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes pulse-checking{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.status-indicator span{color:#10b981;color:var(--success-color);font-size:.875rem;font-weight:600}.main-container{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;min-height:calc(100vh - 140px);padding:1.5rem}.steps-column{display:flex;flex-direction:column;gap:1.5rem}.step-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b;background:var(--bg-card);background-image:linear-gradient(145deg,#1e293b,#334155);background-image:var(--gradient-card);border:1px solid #3b82f6;border-color:var(--primary-color);border-radius:16px;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);box-shadow:0 20px 25px -5px #0000001a,0 0 0 1px #3b82f6,0 0 40px #6366f126;box-shadow:var(--shadow-xl),0 0 0 1px var(--primary-color),0 0 40px #6366f126;min-height:-webkit-fit-content;min-height:fit-content;opacity:1;padding:2rem;position:relative;transform:translateY(-2px);transition:all .4s cubic-bezier(.4,0,.2,1)}.step-content:before{background:linear-gradient(135deg,#0000,#6366f133,#0000);border-radius:16px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:1;padding:1px;position:absolute;right:0;top:0;transition:opacity .4s ease}.step-container{display:flex;flex-direction:column;min-height:-webkit-fit-content;min-height:fit-content}.step-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem;position:relative}.step-header:after{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);border-radius:1px;bottom:-1px;content:"";height:2px;left:0;position:absolute;width:60px}.step-header h2{color:#f8fafc;color:var(--text-primary);display:flex;font-size:1.5rem;gap:.75rem;letter-spacing:-.025em;margin-bottom:.75rem}.step-header h2,.step-number{align-items:center;font-weight:700}.step-number{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);color:#fff;display:inline-flex;font-size:.875rem;height:32px;justify-content:center;width:32px}.step-header p{color:#cbd5e1;color:var(--text-secondary);font-size:1rem;line-height:1.6}.step-body{display:flex;flex:1 1;flex-direction:column;gap:1.5rem}.step-footer{align-items:center;border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.form-group:last-child{margin-bottom:0}.form-group label{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;letter-spacing:.025em;margin-bottom:.5rem}.form-group label,.form-input{color:#f8fafc;color:var(--text-primary)}.form-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172acc;border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);font-size:.875rem;padding:1rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-input:focus{border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a,0 4px 6px -1px #0000001a;box-shadow:0 0 0 3px #6366f11a,var(--shadow-md);outline:none;transform:translateY(-1px)}.form-input::placeholder{color:#94a3b8;color:var(--text-muted)}.btn{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:-.025em;overflow:hidden;padding:1rem 1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);color:#fff}.btn-primary:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:#334155;background:var(--bg-tertiary);border:1px solid #475569;border:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary)}.btn-secondary:hover{background:#64748b;background:var(--border-light);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);color:#fff}.btn-success:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:disabled,.btn:disabled:hover{transform:none}.file-upload,.file-upload-area{background:#0f172a80;border:2px dashed #475569;border:2px dashed var(--border-color);border-radius:16px;color:#cbd5e1;color:var(--text-secondary);cursor:pointer;margin-top:1rem;overflow:hidden;padding:3rem 2rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.file-upload-area:before,.file-upload:before{background:radial-gradient(circle at center,#6366f10d 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.file-upload-area:hover,.file-upload:hover{background:#6366f10d;border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.file-upload-area:hover:before,.file-upload:hover:before{opacity:1}.file-upload-area.drag-over,.file-upload.drag-over{background:#6366f11a;border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 10px 15px -3px #0000001a,0 0 0 1px #3b82f6;box-shadow:var(--shadow-lg),0 0 0 1px var(--primary-color)}.file-upload input[type=file],.file-upload-area input[type=file]{display:none}.file-upload-icon{color:#3b82f6;color:var(--primary-color);font-size:3rem;margin-bottom:1rem}.file-upload-text{color:#f8fafc;color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.025em;margin-bottom:.5rem}.file-upload-subtext{color:#94a3b8;color:var(--text-muted);font-size:.875rem}.file-uploaded{background:#334155;background:var(--bg-tertiary);border:2px solid #10b981;border:2px solid var(--success-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 0 20px #10b9811a;box-shadow:var(--shadow-md),0 0 20px #10b9811a;margin-top:1rem;overflow:hidden;padding:1.5rem;position:relative}.file-uploaded:before{background:linear-gradient(90deg,#10b981,#34d399);background:linear-gradient(90deg,var(--success-color) 0,#34d399 100%);content:"";height:3px;left:0;position:absolute;right:0;top:0}.file-info{align-items:center;color:#10b981;color:var(--success-color);display:flex;gap:1rem}.file-icon{background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;font-size:2rem;padding:.75rem}.file-details{flex:1 1}.file-details h4{color:#f8fafc;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.file-details p{color:#cbd5e1;color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem;opacity:.8}.file-details p:last-child{margin-bottom:0}.output-options{display:flex;gap:.75rem;margin-bottom:1.5rem}.output-option{background:#334155;background:var(--bg-tertiary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);cursor:pointer;flex:1 1;min-width:0;overflow:hidden;padding:.75rem 1rem;position:relative;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1)}.output-option:before{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.output-option:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.output-option.selected,.output-option:hover{border-color:#3b82f6;border-color:var(--primary-color)}.output-option.selected{background:#6366f11a;box-shadow:0 4px 6px -1px #0000001a,0 0 0 1px #3b82f6;box-shadow:var(--shadow-md),0 0 0 1px var(--primary-color)}.output-option.selected:before{opacity:.05}.output-option.disabled{cursor:not-allowed;opacity:.5}.output-option.disabled:hover{box-shadow:none;transform:none}.output-option h4{color:#f8fafc;color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.25rem;position:relative;z-index:1}.output-option p{color:#cbd5e1;color:var(--text-secondary);font-size:.75rem;line-height:1.4;opacity:.8;position:relative;z-index:1}.data-preview{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);margin-top:1.5rem;padding:1.5rem}.data-preview h4{color:#f8fafc;color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:1rem}.step2-data-table-container{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);max-height:400px;overflow:auto;position:relative;scrollbar-color:#64748b #334155;scrollbar-color:var(--border-light) var(--bg-tertiary);scrollbar-width:thin;width:100%}.data-table-scrollable{border-collapse:collapse;font-size:.8rem;min-width:600px;table-layout:auto;width:100%}.data-table-scrollable td,.data-table-scrollable th{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary);max-width:200px;min-width:120px;overflow:hidden;padding:.75rem 1rem;text-align:left;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.data-table-scrollable th{background:#0f172a;background:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:2}.data-table-scrollable td,.data-table-scrollable th{border-right:1px solid #475569;border-right:1px solid var(--border-color)}.data-table-scrollable tr:hover{background:#3b82f614}.data-table-scrollable tr:nth-child(2n){background:#ffffff05}.preview-note{color:#94a3b8;color:var(--text-muted);font-size:.85rem;font-style:italic;margin-top:.75rem;text-align:center}.data-table-container::-webkit-scrollbar,.step2-data-table-container::-webkit-scrollbar{height:12px;width:12px}.data-table-container::-webkit-scrollbar-track,.step2-data-table-container::-webkit-scrollbar-track{background:#334155;background:var(--bg-tertiary);border-radius:6px;margin:2px}.data-table-container::-webkit-scrollbar-thumb,.step2-data-table-container::-webkit-scrollbar-thumb{background:#64748b;background:var(--border-light);border:2px solid #334155;border:2px solid var(--bg-tertiary);border-radius:6px;min-height:20px}.data-table-container::-webkit-scrollbar-thumb:hover,.step2-data-table-container::-webkit-scrollbar-thumb:hover{background:#3b82f6;background:var(--primary-color)}.data-table-container::-webkit-scrollbar-corner,.step2-data-table-container::-webkit-scrollbar-corner{background:#334155;background:var(--bg-tertiary)}.data-table{border-radius:8px;font-size:.8rem;overflow:hidden}.data-table td,.data-table th{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary);padding:.75rem .5rem;text-align:left}.data-table th{background:#0f172a;background:var(--bg-primary);color:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.data-table tr:hover{background:#6366f10d}.slider-container{display:flex;flex-direction:column;gap:.75rem}.slider{-webkit-appearance:none;appearance:none;background:#334155;background:var(--bg-tertiary);border-radius:4px;box-shadow:inset 0 1px 3px #0003;height:8px;outline:none;position:relative;width:100%}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);border-radius:50%;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);cursor:pointer;height:24px;-webkit-transition:all .3s ease;transition:all .3s ease;width:24px}.slider::-webkit-slider-thumb:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:scale(1.1)}.slider::-moz-range-thumb{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:var(--gradient-primary);border:none;border-radius:50%;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);cursor:pointer;height:24px;-moz-transition:all .3s ease;transition:all .3s ease;width:24px}slider::-moz-range-thumb:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:scale(1.1)}.slider-value{background:#6366f11a;border:1px solid #6366f133;border-radius:8px;color:#3b82f6;color:var(--primary-color);font-size:1rem;font-weight:600;padding:.5rem 1rem;text-align:center}.status-message{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);display:flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;gap:.75rem;padding:1rem 1.25rem}.status-message.success{background:#10b98126;border:1px solid #10b9814d;color:#10b981;color:var(--success-color)}.status-message.error{background:#f8717126;border:1px solid #f871714d;color:#ef4444;color:var(--error-color)}.status-message.info{background:#6366f126;border:1px solid #6366f14d;color:#3b82f6;color:var(--primary-color)}.status-message.warning{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b;color:var(--warning-color)}.status-message-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.25rem}.status-message-content h4{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.status-message-content ul{color:inherit;margin:0;opacity:.9}.status-summary{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a4d;border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;margin-top:.75rem;padding:.75rem}.status-row{align-items:center;border-bottom:1px solid #47556933;display:flex;font-size:.8rem;justify-content:space-between;padding:.4rem 0}.status-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.status-row:first-child{padding-top:0}.status-label{color:#cbd5e1;color:var(--text-secondary);font-size:.8rem;font-weight:500;min-width:80px}.status-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;border-radius:12px;font-size:.65rem;font-weight:600;letter-spacing:.025em;padding:.15rem .5rem;text-transform:uppercase;transition:all .2s ease}.status-badge.success{background:#10b98126;border-color:#10b9814d;color:#10b981;color:var(--success-color)}.status-badge.warning{background:#f59e0b26;border-color:#f59e0b4d;color:#f59e0b;color:var(--warning-color)}.status-badge.info{background:#6366f126;border-color:#6366f14d;color:#3b82f6;color:var(--primary-color)}.step-wrapper.disabled{opacity:.5;pointer-events:none;position:relative}.step-wrapper.disabled:before{background-color:#0000001a;border-radius:12px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.step-wrapper.enabled{opacity:1;pointer-events:auto}.step-wrapper.disabled .btn,.step-wrapper.disabled .file-upload-zone,.step-wrapper.disabled input,.step-wrapper.disabled select,.step-wrapper.disabled textarea{opacity:.6;pointer-events:none}.results-section{margin-top:2rem}.generate-new-section{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.success-label{color:#cbd5e1}.success-value{border:1px solid #10b98133;color:#f8fafc}.download-btn-primary{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);border:none;color:#fff}.download-btn-primary:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-outline{border:2px solid #475569;color:#cbd5e1}.btn-outline:hover{border-color:#3b82f6;color:#3b82f6}.error-section{margin-top:2rem}.error-details{background:#ef44441a;border:1px solid #ef444433;border-radius:8px;font-size:.875rem;margin-top:.75rem;padding:.75rem}.error-help{color:#cbd5e1;color:var(--text-secondary)}.error-help ul{color:#cbd5e1}.generation-progress{background:#1e293b;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;padding:2rem;text-align:center}.generation-progress .spinner{margin:0 auto 1rem}.progress-bar{background:#334155;background:var(--bg-tertiary);border-radius:4px;height:8px;margin:1rem 0;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3b82f6,#10b981);background:linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius:4px;height:100%;transition:width .3s ease}.data-viewer{width:100%}.data-viewer.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:2rem}.data-viewer.loading p{color:var(--text-secondary);margin-top:1rem}.data-viewer-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.data-viewer-header .data-info h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.data-viewer-header .data-info p{color:var(--text-secondary);font-size:.875rem}.download-btn{align-items:center;background:var(--success-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.download-btn:hover{background:#059669;box-shadow:var(--shadow-md);transform:translateY(-1px)}.data-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table thead{background:var(--bg-tertiary)}.data-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:1rem .75rem;text-align:left}.data-table td,.data-table th{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table td{border-bottom:1px solid #4755694d;color:var(--text-secondary);padding:.75rem}.data-table tbody tr:hover{background:#3b82f60d}.data-table tbody tr:last-child td{border-bottom:none}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding:1rem}.pagination-info{color:var(--text-secondary);font-size:.875rem;font-weight:500}.pagination .btn{min-width:auto;padding:.5rem 1rem}.data-viewer.empty,.data-viewer.error,.download-section{text-align:center}.error-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.error-help ul{color:var(--text-secondary);opacity:.9}.error-help li{margin-bottom:.25rem}.success-details{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.success-stat{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.success-label{color:var(--text-secondary);font-weight:500}.success-value{background:#10b9811a;border-radius:4px;color:var(--text-primary);font-weight:600;padding:.25rem .5rem}.download-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.download-btn-primary{font-size:1rem;font-weight:600;padding:.875rem 2rem}.btn-outline{background:#0000;border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn-outline:hover{background:#3b82f60d;border-color:var(--primary-color);color:var(--primary-color)}.preview-note{border:1px solid var(--border-color)}.btn-large{font-size:1rem!important;font-weight:600!important;padding:12px 24px!important}.success-note{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-actions .btn{min-width:180px}.status-message.error .status-message-content h4{color:#dc3545;color:var(--error-color,#dc3545)}.status-message.error .status-message-content p{margin-bottom:.75rem}@media (max-width:768px){.data-viewer-header{align-items:stretch;flex-direction:column;gap:1rem}.data-table-container{overflow-x:auto}.data-table td,.data-table th{min-width:120px;padding:.5rem}.pagination{flex-direction:column;gap:.5rem}}@media (max-width:568px){.download-actions,.error-actions{align-items:center;flex-direction:column}.success-details{flex-direction:column;gap:.5rem}}
/*# sourceMappingURL=main.69027037.css.map*/