*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}#app{max-width:1200px;margin:0 auto;padding:2rem}.header{background:#fff;padding:1.5rem 2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.header-logo{display:flex;align-items:center;gap:1rem}.header-logo-img{height:40px;width:auto}.header h1{font-size:1.8rem;color:#667eea;margin:0}.user-info{display:flex;align-items:center;gap:1rem}.user-info img{width:40px;height:40px;border-radius:50%}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#f3f4f6;color:#333}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#ef4444;color:#fff;padding:.5rem 1rem;font-size:.875rem}.btn-danger:hover{background:#dc2626}.login-container{text-align:center;background:#fff;padding:4rem 2rem;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;margin:4rem auto}.login-container .logo{max-width:250px;height:auto;margin-bottom:2rem}.login-container h2{margin-bottom:.5rem;color:#667eea;font-size:2rem}.login-container p{margin-bottom:2rem;color:#666;font-size:1.1rem}.upload-container{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem}.upload-container h2{margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.text-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.file-input-wrapper{position:relative;display:inline-block;width:100%}.file-input{width:100%;padding:1rem;border:2px dashed #667eea;border-radius:8px;background:#f9fafb;cursor:pointer;transition:all .3s ease}.file-input:hover{border-color:#5568d3;background:#f3f4f6}.upload-button{margin-top:1rem;width:100%}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-top:1rem}.progress-fill{height:100%;background:#667eea;transition:width .3s ease}.progress-text{text-align:center;margin-top:.5rem;color:#666;font-size:.875rem}.files-container{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.files-container h2{margin-bottom:1.5rem;color:#333}.files-list{list-style:none}.file-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;transition:all .3s ease}.file-item:hover{border-color:#667eea;background:#f9fafb}.file-info{flex:1}.file-name{font-weight:600;color:#333;margin-bottom:.25rem}.file-meta{font-size:.875rem;color:#666}.file-actions{display:flex;gap:.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:#666}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.loading{text-align:center;padding:2rem;color:#666}.selected-file{margin-top:1rem;padding:1rem;background:#f3f4f6;border-radius:8px;font-size:.875rem;color:#666}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.95rem}.text-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.text-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.text-input:disabled{background:#f3f4f6;cursor:not-allowed}.input-hint{margin-top:.5rem;font-size:.875rem;color:#666}@media (max-width: 768px){#app{padding:1rem}.header{flex-direction:column;gap:1rem;text-align:center}.file-item{flex-direction:column;gap:1rem;align-items:flex-start}.file-actions,.btn{width:100%}}
