.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;padding:20px 40px;border-bottom:2px solid #e0e0e0}.app-header h1{margin:0 0 15px;font-size:24px;color:#2c3e50}.steps{display:flex;gap:20px;font-size:14px;color:#999}.steps span{position:relative;padding-bottom:5px}.steps span.active{color:#2c3e50;font-weight:500;border-bottom:2px solid #3498db}.app-main{flex:1;padding:30px 40px;max-width:1200px;width:100%;margin:0 auto}.card{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.card h2{margin:0 0 20px;font-size:20px;color:#2c3e50}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#555}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#229954}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.button-group{display:flex;gap:10px;margin-top:20px}.checkbox-list{max-height:400px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;padding:15px}.checkbox-item{display:flex;align-items:center;padding:10px;border-radius:4px;transition:background .2s}.checkbox-item:hover{background:#f8f9fa}.checkbox-item input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer}.checkbox-item label{cursor:pointer;flex:1;margin:0;font-size:14px}.info-box{background:#e8f4f8;border-left:4px solid #3498db;padding:15px;margin:20px 0;border-radius:4px;font-size:14px;color:#2c3e50}.success-box{background:#d5f4e6;border-left:4px solid #27ae60;padding:15px;margin:20px 0;border-radius:4px;font-size:14px;color:#2c3e50}.error-box{background:#fadbd8;border-left:4px solid #e74c3c;padding:15px;margin:20px 0;border-radius:4px;font-size:14px;color:#2c3e50}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background:#3498db;transition:width .3s ease}.log-container{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;padding:15px;max-height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:12px;margin-top:20px}.log-entry{padding:4px 0;border-bottom:1px solid #e8e8e8}.log-entry:last-child{border-bottom:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}
