.upload-page{padding:2rem;min-height:100vh;background-color:#f8f9fa}.upload-container{max-width:1000px;margin:0 auto;background-color:white;border-radius:8px;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.upload-container h1{margin-bottom:1.5rem;font-size:2rem;font-weight:700;color:var(--color-dark);text-align:center}.upload-container h1:after{content:"";display:block;width:60px;height:4px;background-color:var(--color-accent,#f97316);margin:1rem auto 1.5rem}.static-mode-notice{display:flex;background-color:#e0f2fe;color:#0369a1;padding:1rem;border-radius:8px;margin-bottom:1.5rem;gap:1rem;align-items:flex-start}.static-mode-notice h3{margin-bottom:.5rem;font-weight:700}.static-mode-notice p{margin:.25rem 0;font-size:.95rem}.upload-instructions{background-color:#f8fafc;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.upload-instructions h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--color-dark)}.upload-instructions ol{padding-left:1.5rem;margin:.5rem 0}.upload-instructions li{padding:.5rem 0;color:#4b5563}.upload-dropzone{border:2px dashed #e5e7eb;border-radius:8px;padding:3rem 2rem;text-align:center;margin-bottom:2rem;transition:all .2s}.upload-dropzone:hover{border-color:var(--color-primary,#f97316)}.file-input{display:none}.file-label{display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer;color:#6b7280}.upload-icon{font-size:2rem;color:var(--color-primary,#f97316)}.upload-status{padding:2rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;background-color:#f8fafc;margin-bottom:2rem}.loading-spinner{border:3px solid rgba(0,0,0,.1);border-top:3px solid var(--color-primary,#f97316);border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.upload-result{padding:2rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;margin-bottom:2rem}.upload-result.success{background-color:#f0fdf4;color:#166534}.upload-result.error{background-color:#fef2f2;color:#991b1b}.result-icon{font-size:2rem}.result-icon.success{color:#16a34a}.result-icon.error{color:#dc2626}.upload-actions{justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.primary-actions,.upload-actions{display:flex;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--color-primary,#3b82f6);color:white}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#f3f4f6;color:#4b5563}.btn-secondary:hover{background-color:#e5e7eb}.btn-success{background-color:#22c55e;color:white}.btn-success:hover{background-color:#16a34a}.btn-danger{background-color:#ef4444;color:white}.btn-danger:hover{background-color:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.validation-errors{background-color:#fff1f2;border:1px solid #fda4af;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.validation-errors h3{color:#be123c;font-size:1.1rem;font-weight:700;margin-bottom:1rem}.validation-errors ul{list-style-type:none;padding:0;margin:0}.error-item{display:flex;padding:.5rem 0;border-bottom:1px solid #fecdd3;font-size:.9rem;gap:1rem}.error-item:last-child{border-bottom:none}.error-row{font-weight:700;color:#be123c;min-width:80px}.error-field{color:#9f1239;font-style:italic;min-width:100px}.error-message{color:#881337}.data-preview{margin-top:1.5rem;width:100%;overflow-x:auto}.data-preview h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--color-dark)}.data-preview table{width:100%;border-collapse:collapse;font-size:.9rem}.data-preview th{background-color:#f8fafc;padding:.75rem 1rem;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.data-preview td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;color:#334155}.data-preview tr:last-child td{border-bottom:none}.data-preview tr.has-error{background-color:#fff1f2}.data-preview tr.has-error td{color:#be123c}.data-preview tr:hover{background-color:#f1f5f9}@media (max-width:768px){.upload-page{padding:1rem}.upload-container{padding:1.5rem}.upload-actions{align-items:stretch}.primary-actions,.upload-actions{flex-direction:column}.btn{width:100%;justify-content:center}}
/*# sourceMappingURL=aba3c64779680b35.css.map*/