/* Data Conversion Interface Styles */ /* CSV upload, processing, and results preview components */ .data-convert-container { display: flex; flex-direction: column; gap: 2rem; max-width: 1000px; } /* Upload Section */ .upload-section { background: white; border-radius: 8px; padding: 2rem; box-shadow: var(--shadow-sm); } .upload-area { border: 2px dashed #ddd; border-radius: 8px; padding: 3rem; text-align: center; cursor: pointer; transition: all 0.3s ease; } .upload-area:hover { border-color: var(--primary-color); background-color: #f8f9fa; } .upload-area.drag-over { border-color: var(--primary-color); background-color: #e3f2fd; } .upload-icon { font-size: 48px; margin-bottom: 1rem; } .file-info { margin-top: 1rem; padding: 1rem; background: #f8f9fa; border-radius: var(--border-radius); } /* CSV Requirements Section */ .csv-requirements { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; padding: var(--padding-base); margin: var(--padding-base) 0; } .csv-requirements h4 { color: #495057; margin-bottom: 15px; border-bottom: 2px solid #e9ecef; padding-bottom: 10px; } .requirements-section { margin-bottom: var(--padding-base); } .requirements-section:last-child { margin-bottom: 0; } .requirements-section h5 { color: #6c757d; margin-bottom: 10px; font-weight: 600; } .field-mapping-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-top: 10px; } .field-group { background: white; border: 1px solid #e9ecef; border-radius: var(--border-radius); padding: 12px; } .field-group strong { color: #495057; display: block; margin-bottom: 8px; font-size: var(--font-size-base); } .field-group ul { margin: 0; padding-left: 15px; list-style-type: disc; } .field-group li { font-family: 'Courier New', monospace; font-size: var(--font-size-xs); color: #6c757d; margin-bottom: 3px; } .csv-example { background: #2d3748; color: #e2e8f0; padding: 15px; border-radius: var(--border-radius); font-family: 'Courier New', monospace; font-size: var(--font-size-xs); overflow-x: auto; margin-top: 10px; white-space: pre; } .requirements-section ul { margin: 10px 0; padding-left: var(--padding-base); } .requirements-section > ul > li { margin-bottom: 5px; color: #495057; } /* Processing Section */ .processing-section { background: white; border-radius: 8px; padding: 2rem; box-shadow: var(--shadow-sm); } .processing-actions { display: flex; gap: 1rem; justify-content: center; margin-top: 2rem; } /* Results Preview */ .results-preview { margin-top: 2rem; } .results-map { height: 400px; margin-bottom: 1.5rem; border: 1px solid #ddd; border-radius: var(--border-radius); } .results-table-container { max-height: 400px; overflow-y: auto; border: 1px solid #ddd; border-radius: var(--border-radius); } .results-table { width: 100%; border-collapse: collapse; } .results-table th { background: #f8f9fa; padding: 0.75rem; text-align: left; font-weight: 600; position: sticky; top: 0; z-index: 10; } .results-table td { padding: 0.75rem; border-bottom: 1px solid #e9ecef; } .result-success { background: #d4edda; animation: slideIn 0.3s ease-out; } .result-error { background: #f8d7da; animation: slideIn 0.3s ease-out; } .error-message { color: #721c24; font-style: italic; } /* Animation for results */ @keyframes slideIn { from { transform: translateX(-20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }