body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;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}#root{display:flex;flex-direction:column;height:100vh}.data-upload{margin:0 auto;max-width:800px;padding:24px}.data-upload h2{color:#1a1a1a;font-size:24px;font-weight:600;margin-bottom:24px;margin-top:0}.upload-dropzone{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;margin-bottom:24px;padding:48px 24px;text-align:center;transition:all .2s ease}.upload-dropzone:hover{background-color:#eff6ff;border-color:#3b82f6}.upload-dropzone.active{background-color:#dbeafe;border-color:#3b82f6}.upload-dropzone.has-file{background-color:#f0fdf4;border-color:#10b981}.upload-prompt{align-items:center;display:flex;flex-direction:column;gap:12px}.upload-icon{font-size:48px;opacity:.4}.upload-prompt p{color:#6b7280;margin:0}.upload-hint{color:#9ca3af;font-size:14px}.file-info{align-items:center;background:#fff;border-radius:8px;display:flex;gap:16px;padding:16px;position:relative}.file-icon{font-size:32px}.file-details{flex:1 1;text-align:left}.file-name{color:#1a1a1a;font-weight:600;margin-bottom:4px}.file-size{color:#6b7280;font-size:14px}.remove-file{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;transition:background .2s;width:24px}.remove-file:hover{background:#dc2626}.upload-form{gap:20px}.form-group,.upload-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-group textarea{min-height:80px;resize:vertical}.data-type-select{font-weight:500}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.schema-requirements{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;margin-top:16px;padding:16px}.schema-section{margin-bottom:12px}.schema-section:last-child{margin-bottom:0}.schema-header{color:#1e40af;font-size:13px;margin-bottom:6px}.schema-header strong,.schema-label{font-weight:600}.schema-label{color:#1e3a8a;font-size:12px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.field-tags{display:flex;flex-wrap:wrap;gap:6px}.field-tag{border-radius:4px;display:inline-block;font-family:Consolas,Monaco,monospace;font-size:12px;font-weight:500;padding:4px 10px}.field-tag.required{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.field-tag.optional{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.field-tag.more{background-color:#fefce8;border:1px solid #fef08a;color:#a16207;font-style:italic}.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.btn{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.upload-result{border:1px solid;border-radius:8px;margin-top:24px;padding:20px}.upload-result.success{background-color:#f0fdf4;border-color:#10b981}.upload-result.error{background-color:#fef2f2;border-color:#ef4444}.result-success h3{color:#065f46}.result-error h3,.result-success h3{font-size:18px;margin-bottom:16px;margin-top:0}.result-error h3{color:#991b1b}.result-details p{color:#374151;font-size:14px;margin:8px 0}.result-details strong{color:#1a1a1a;font-weight:600}.schema-details{margin-top:12px}.schema-details summary{background:#fff;border-radius:4px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:600;padding:8px;-webkit-user-select:none;user-select:none}.schema-details summary:hover{background:#eff6ff}.schema-details pre{background:#1f2937;border-radius:6px;color:#f3f4f6;font-size:12px;line-height:1.5;margin-top:8px;overflow-x:auto;padding:12px}.error-list,.warning-list{margin:12px 0;padding-left:20px}.error-list li{color:#991b1b;font-size:14px;margin:6px 0}.warning-list li{color:#92400e;font-size:14px;margin:6px 0}.result-error h4{color:#92400e;font-size:14px;font-weight:600;margin:16px 0 8px}
/*# sourceMappingURL=main.3bc621b4.css.map*/