*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#cbf3f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:20px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:20px}.container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:900px;padding:40px;width:100%}.header{margin-bottom:40px;position:relative;text-align:center}.header-content{align-items:center;display:flex;gap:20px;justify-content:center;position:relative}.logout-btn{background:#ff53a4;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.logout-btn:hover{background:#e04090;box-shadow:0 4px 12px #ff53a44d;transform:translateY(-50%) translateY(-2px)}.loading-container{align-items:center;color:#6d2ed9;font-size:18px;min-height:100vh}.loading-container,.logo{display:flex;justify-content:center}.logo{margin-bottom:20px}.logo-image{height:60px;width:auto}.header h1{color:#333;font-size:28px;font-weight:600}.progress-container{background:#f9f9f9;border:2px solid #6d2ed9;border-radius:12px;margin:30px 0;padding:25px}.progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.progress-label{color:#333;font-size:16px;font-weight:600}.progress-percentage{color:#6d2ed9;font-size:18px;font-weight:700}.progress-bar-wrapper{background:#e0e0e0;border-radius:15px;box-shadow:inset 0 2px 4px #0000001a;height:30px;margin-bottom:12px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#6d2ed9,#8b52e8);border-radius:15px;box-shadow:0 2px 8px #6d2ed966;height:100%;transition:width .3s ease}.progress-message-text{color:#666;font-size:14px;margin-top:8px;text-align:center}.progress-message{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#1976d2;margin:20px 0;padding:15px}.download-section{border-top:2px solid #f0f0f0;margin-top:40px;padding-top:40px}.download-section h2{color:#333;margin-bottom:10px}.download-section p{color:#666;margin-bottom:20px}.download-buttons{display:flex;gap:15px;margin-bottom:30px}.btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-primary{background:#6d2ed9;color:#fff}.btn-primary:hover{background:#5a24b8;box-shadow:0 5px 20px #6d2ed966;transform:translateY(-2px)}.btn-secondary{background:#cbf3f0;color:#6d2ed9}.btn-secondary:hover{background:#b8ebe8;box-shadow:0 5px 20px #cbf3f066;transform:translateY(-2px)}.data-preview{background:#f9f9f9;border-radius:8px;padding:20px}.data-preview h3{color:#333;font-size:18px;margin-bottom:15px}.preview-table-container{overflow-x:auto}.preview-table{background:#fff;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.preview-table th{background:#6d2ed9;color:#fff;font-weight:600;padding:12px;text-align:left}.preview-table td{border-bottom:1px solid #e0e0e0;padding:12px}.preview-table tbody tr:hover{background:#f5f5f5}.url-cell{color:#666;font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-note{color:#999;font-size:14px;margin-top:10px;text-align:center}.lpr-form{margin-bottom:30px}.form-group{margin-bottom:25px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input[type=text]{border:2px solid #e0e0e0;border-radius:6px;font-size:16px;padding:12px 15px;transition:border-color .3s ease;width:100%}.form-group input[type=text]:focus{border-color:#6d2ed9;outline:none}.form-group input[type=text]:disabled{background:#f5f5f5;cursor:not-allowed}.template-download{display:flex;gap:10px;margin-bottom:10px}.template-link{background:#fff;border:2px solid #6d2ed9;border-radius:6px;color:#6d2ed9;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:8px 15px;text-decoration:none;transition:all .3s ease}.template-link:hover:not(:disabled){background:#6d2ed9;color:#fff;transform:translateY(-1px)}.template-link:disabled{cursor:not-allowed;opacity:.5}.preview-btn{border-color:#ff53a4;color:#ff53a4}.preview-btn:hover:not(:disabled){background:#ff53a4;color:#fff}.download-btn{border-color:#6d2ed9;color:#6d2ed9}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:900px;overflow:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 30px}.modal-header h2{color:#333;font-size:24px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:36px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:30px}.modal-description{color:#666;font-size:16px;margin-bottom:20px}.preview-table-wrapper{margin-bottom:20px;overflow-x:auto}.csv-preview-table{background:#fff;border:1px solid #e0e0e0;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.csv-preview-table th{background:#6d2ed9;color:#fff;font-size:14px;font-weight:600;padding:12px;text-align:left}.csv-preview-table td{border-bottom:1px solid #e0e0e0;color:#333;font-size:13px;padding:12px}.csv-preview-table tbody tr:last-child td{border-bottom:none}.csv-preview-table tbody tr:hover{background:#f5f5f5}.modal-footer{display:flex;justify-content:center;padding-top:10px}.modal-download-btn{background:#6d2ed9;border-radius:6px;color:#fff;font-weight:600;padding:12px 30px;text-decoration:none;transition:all .3s ease}.modal-download-btn:hover{background:#5a24b8;box-shadow:0 5px 20px #6d2ed966;transform:translateY(-2px)}.file-upload-wrapper{position:relative}.file-input{height:0;opacity:0;position:absolute;width:0}.file-upload-label{background:#f9f9f9;border:2px dashed #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:block;padding:12px 15px;text-align:center;transition:all .3s ease}.file-upload-label:hover{background:#f0ebff;border-color:#6d2ed9}.file-info{color:#6d2ed9;font-size:14px;font-weight:600;margin-top:8px}.submit-btn{background:#6d2ed9;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){background:#5a24b8;box-shadow:0 5px 20px #6d2ed966;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-container{align-items:center;background:#cbf3f0;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:40px;width:100%}.login-title{color:#6d2ed9;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.login-subtitle{color:#666;font-size:16px;margin:0 0 32px;text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.login-form .form-group{display:flex;flex-direction:column;gap:8px}.login-form label{color:#333;font-size:14px;font-weight:600}.login-form input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s}.login-form input:focus{border-color:#6d2ed9;outline:none}.login-form input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-btn{background:#6d2ed9;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .3s}.login-btn:hover:not(:disabled){background:#5a25b8;box-shadow:0 4px 12px #6d2ed94d;transform:translateY(-2px)}.login-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;font-size:14px;padding:12px;text-align:center}
/*# sourceMappingURL=main.16167471.css.map*/