*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f9fafb;color:#374151;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}h1{text-align:center;color:#1e40af;margin-bottom:30px;font-size:2.5em}.progress-bar{display:flex;justify-content:center;margin-bottom:40px;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a}.step{padding:10px 20px;margin:0 10px;border-radius:20px;background:#e5e7eb;color:#6b7280;font-weight:700;transition:all .3s ease}.step.active{background:#2563eb;color:#fff}.section{display:none;background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 10px #0000001a}.section.active{display:block}.main-content{display:flex;flex-direction:column;gap:40px}.category-section{flex:1}.upload-section{flex:1;border-top:2px solid #e5e7eb;padding-top:30px;margin-top:20px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:20px}.category-card{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;padding:30px;border-radius:15px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.category-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0003}.category-card.selected{background:linear-gradient(135deg,#10b981,#059669);transform:translateY(-5px);box-shadow:0 8px 25px #0000004d}.category-icon{font-size:3em;margin-bottom:15px}.category-card h3{margin-bottom:10px;font-size:1.1em}.category-card p{opacity:.9}.selected-category{background:#dcfce7;padding:15px;border-radius:8px;margin-bottom:20px;font-weight:700;color:#15803d;text-align:center;font-size:1.1em}.upload-notice{margin-top:10px;font-size:.9em;color:#dc2626;font-weight:400}.upload-area{border:3px dashed #3b82f6;border-radius:10px;padding:60px 20px;text-align:center;margin-bottom:20px;background:#f9fafb;cursor:pointer;transition:all .3s ease}.upload-area:hover{background:#eff6ff;border-color:#2563eb}.upload-area.dragover{background:#eff6ff;border-color:#2563eb;transform:scale(1.02)}.upload-icon{font-size:3em;margin-bottom:15px}.upload-area p{font-size:1.1em;color:#6b7280;margin-bottom:10px}#file-input{display:none}.file-list{margin-bottom:20px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#f3f4f6;border-radius:8px;margin-bottom:10px;border-left:4px solid #2563eb}.file-info{display:flex;align-items:center}.file-icon{font-size:1.5em;margin-right:10px}.file-details{flex:1}.file-name{font-weight:700;margin-bottom:5px}.file-size{color:#6b7280;font-size:.9em}.file-remove{background:#dc2626;color:#fff;border:none;padding:5px 10px;border-radius:5px;cursor:pointer;transition:background .3s ease}.file-remove:hover{background:#b91c1c}.upload-controls{display:flex;gap:15px;justify-content:center;margin-top:20px}.btn{padding:12px 30px;border:none;border-radius:8px;font-size:1em;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:120px}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px)}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563;transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{border:4px solid #e5e7eb;border-top:4px solid #2563eb;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.result-message{text-align:center;padding:40px}.result-message p{font-size:1.2em;margin-bottom:30px;color:#10b981}.result-actions{display:flex;gap:20px;justify-content:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#374151}.form-group input[type=number]{width:100%;padding:10px;border:2px solid #e5e7eb;border-radius:5px;font-size:1em}.file-upload-group{margin-bottom:15px}.file-upload-group label{display:block;margin-bottom:5px;font-weight:700;color:#374151}.file-upload-group input[type=file]{width:100%;padding:8px;border:2px solid #e5e7eb;border-radius:5px;background:#fff}@media (max-width: 768px){.container{padding:10px}h1{font-size:2em}.category-grid{grid-template-columns:1fr}.upload-area{padding:40px 20px}.upload-controls,.result-actions,.progress-bar{flex-direction:column;align-items:center}.step{margin:5px 0}.main-content{gap:20px}.upload-section{padding-top:20px;margin-top:10px}}
